当前位置: 首页 > 编程笔记 >

上传文件报错:The current request is not a multipart request] with root cause

楚嘉纳
2023-05-03

  上传文件时报错:The current request is not a multipart request] with root cause

  原因是from标签内未添加enctype="multipart/form-data",因为在表单中的默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据。

  这里我们需要知道一点,spring在处理入参的时候, 遇到MultipartFile相关就会先去校验。(在controller中会用MultipartFile接受参数)

  那怎么校验呢?

  1.当在form中提交的信息包含图片的时候,必须要用POST方法。

  如果是POST方法,它就会深入去检测请求。

  2. 请求的contentType 必须设置为以 “multipart/“ 开头。

  此外,只有当当前请求的contentType是 “multipart/“ 的时候,才会将此请求当做文件上传的请求。

  因此还需要将请求的contentType 设置为“multipart”开头通常是multipart/form-data)**。**

  这里分两种情况:

  2.1当用form上传的时候

  在from表单的属性设置里面加上enctype=”multipart/form-data”

  2.2当用ajax上传的时候

  用ajax提交的时候在页面设置

  满足上面两个条件,才会将请求当做文件上传的请求。

  一般满足以上条件,就没有问题了。

 类似资料:
  • 前端文件: /src/app/api/compress/route.ts 后端文件:src/app/api/upload/route.ts 报错内容: 麻烦各位熟悉Next的大佬看一下 问题代码的GitHub地址:https://github.com/AnsonZnl/next-upload

  • 我是一个使用struts2文件上传和我的动作类包含3私人文件与getter和setters 我有一些疑问要澄清 > 每当我使用myFileVariableName“FileName”(如果文件变量是myFile,那么文件名变量是MyFileFileFileName,如果文件是xxx,那么文件名是xxxFileName),我就会得到输出,如果我对此格式(即myFileVariableName“Fil

  • ftp 文件上传,一直报read ECONNRESET

  • 在Yii里上传文件通常使用 yii\web\UploadedFile 类, 它把每个上传的文件封装成 UploadedFile 对象。 结合 yii\widgets\ActiveForm 和 models,你可以轻松实现安全的上传文件机制。 创建模型 和普通的文本输入框类似,当要上传一个文件时,你需要创建一个模型类并且用其中的某个属性来接收上传的文件实例。 你还需要声明一条验证规则以验证上传的文件

  • 大多数的 Web 应用都不可避免的,会涉及到文件上传。文件上传,不过是一种适配 HTTP 输入流的方式。 为此,Nutz.Mvc 内置了一个专门处理文件上传的适配器 org.nutz.mvc.upload.UploadAdaptor 这个适配器专门解析形式为 <form target="hideWin" enctype="multipart/form-data" method="post">

  • 哦,上传文件可是个经典的好问题了。文件上传的基本概念实际上非常简单, 他基本是这样工作的: 一个 <form> 标签被标记有 enctype=multipart/form-data ,并且 在里面包含一个 <input type=file> 标签。 服务端应用通过请求对象上的 files 字典访问文件。 使用文件的 save() 方法将文件永久地 保存在文件系统上的某处。 一点点介绍 让我们建立一

  • Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据,每面数据的条数 属性 count:对象总数 num_pages:页面总数 page_range:页码列表,从1开始,例如[1, 2, 3, 4] 方法 page(num):下标以1开始,如果提供的页码不存在

  • SDK 详细代码可参考sdk-java模块代码,位于单元测试文件中 /** * 上传文件,读取本地文件 * * @throws IOException */ @Test public void testUpload() throws IOException { FileUploadRequest request = new F