当前位置: 首页 > 知识库问答 >
问题:

请求被拒绝,因为在springboot中找不到多部分边界

袁炳
2023-03-14

我正在用spring boot和带有postman chrome插件的Web服务尝试这一点。

在postmancontent type=“multipart/form data”中,我得到了以下例外。

HTTP Status 500 - Request processing failed; 
nested exception is org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; 
nested exception is java.io.IOException: 
org.apache.tomcat.util.http.fileupload.FileUploadException: the request was rejected because no multipart boundary was found

在控制器中,我指定了以下代码

@ResponseBody
@RequestMapping(value = "/file", headers = "Content-Type= multipart/form-data", method = RequestMethod.POST)

public String upload(@RequestParam("name") String name,
        @RequestParam(value = "file", required = true) MultipartFile file)
//@RequestParam ()CommonsMultipartFile[] fileUpload
{
    // @RequestMapping(value="/newDocument", , method = RequestMethod.POST)
    if (!file.isEmpty()) {
        try {
            byte[] fileContent = file.getBytes();
            fileSystemHandler.create(123, fileContent, name);
            return "You successfully uploaded " + name + "!";
        } catch (Exception e) {
            return "You failed to upload " + name + " => " + e.getMessage();
        }
    } else {
        return "You failed to upload " + name + " because the file was empty.";
    }
}

这里我指定文件处理程序代码

public String create(int jonId, byte[] fileContent, String name) {
    String status = "Created file...";
    try {
        String path = env.getProperty("file.uploadPath") + name;
        File newFile = new File(path);
        newFile.createNewFile();
        BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(newFile));
        stream.write(fileContent);
        stream.close();
    } catch (IOException ex) {
        status = "Failed to create file...";
        Logger.getLogger(FileSystemHandler.class.getName()).log(Level.SEVERE, null, ex);
    }
    return status;
}

共有3个答案

朱欣荣
2023-03-14

这对我很有用:通过Postman将文件上传到SpringMVC后端webapp:

陶法
2023-03-14

在Postman中取消选中内容类型,并且postman会根据您在运行时的输入自动检测内容类型。

东门俊智
2023-03-14

问题是你自己在设置Content-Type,让它是空白的,谷歌Chrome会为你做的,多部分Content-Type需要知道文件边界,当你移除Content-Type时,Postman会自动为你做的。

 类似资料:
  • 我正在用Spring rest上传文件 我正在尝试发送内容类型为multipart/form data或multipart/form data的请求 然而,我一直得到一个错误:请求被拒绝,因为没有找到多部分边界 我不确定这是rest中的问题还是我的请求被打乱了。我正在使用restclient,将内容类型设置为多部分/表单数据,并从restclient发送文件 错误: 这是我的代码 网状物xml d

  • 我正在尝试将最近使用Angular2下载的一个文件上传到Spring API Rest。 问题是(在spring应用程序上显示)。。。 请求被拒绝,因为找不到多部分边界 在org。阿帕奇。公猫util。http。文件上传。FileUploadBase$FileItemIteratorImpl。(FileUploadBase.java:831)~[tomcat-embed-core-8.5.28.j

  • 我为Spring3Rest多部分文件上传做了一个POC。它工作正常。但是当我尝试与我的应用程序集成时,我遇到了问题。 它抛出以下异常: 如果我在代码的任何部分出错了,请告诉我。 豆: 控制器:

  • 我想上传一个文件并发布到我的服务器以获得响应。 在模板中,我使用了类似的内容: 这是我的角度控制器和服务: 在服务器端,我开发了一个这样的REST服务: 以下是发送到服务器的请求,如果put * * ' Content-Type ':' undefined ' * *: 如果我说 Tring this,抛出以下异常: org . spring framework . web . multipart

  • 我正在开发一个文件上传功能。为此,我有一个spring boot web服务和客户机。 WebService:- 如果我删除文件并给出一个字符串,那么调用将继续进行。可能是什么问题。

  • 问题内容: 我为Spring 3 Rest Multipart文件上载了POC。它的工作正常。但是,当我尝试与我的应用程序集成时,我遇到了问题。 它引发以下异常: 如果我在代码的任何部分有误,请告诉我。 Beans: Controller: 问题答案: 问题不在你的代码中,而是在你的请求中。你的多部分请求中缺少边界。正如规范中所说: 多部分实体的Content-Type字段需要一个参数“边界”,该