【问题标题】:Get error from file uploading从文件上传中获取错误
【发布时间】:2018-06-03 08:26:04
【问题描述】:

我正在尝试使用 image_servlet 上传图片。 请求从product servlet 传递到save_images servlet

 req.getRequestDispatcher("save_images").forward(req, resp);

jsp代码

<form action="../save_images" method="POST" enctype="multipart/form-data">
 //img tags in here
</form>

但我收到了这个错误

org.apache.commons.fileupload.FileUploadBase$InvalidContentTypeException: 请求不包含 multipart/form-data 或 multipart/mixed 流,内容类型标头为 application/x-www-form-urlencoded

我正在上传 jpg 图片。 任何人都对这个错误有想法。

【问题讨论】:

  • 发布你的jsp表单代码
  • 当然。我编辑了问题。

标签: hibernate servlets apache-commons-fileupload requestdispatcher


【解决方案1】:

我相信这个问题与previous one有关。

如果是这样,你就犯了一个大错。在上一个问题中,您输入了两个&lt;form&gt;s。

但是您提交了第一个&lt;form&gt;,它是一个application/x-www-form-urlencorded 类型的表单,然后使用Requestdispatcher 将其解析到第二个servlet。所以这里的错误很明显。

删除第二个&lt;form&gt; 并将enctype="multipart/form-data" 添加到第一个表单。

<div class=container>
    <form action="../save_product" method="POST" enctype="multipart/form-data">
        <button type="submit" id="formsave2"></button>
         <div class="panel">
         </div>
         <div class="panel">
             // img tags in here
         </div>
    </form>
</div>

请记住,您提交的表单应提及enctype

【讨论】:

  • 实际上我不能对这些东西使用单一表单标签。如果我使用单个表单标签,则关闭表单标签无法与打开表单标签同步。(
    不同步)。这就是我使用两种形式的原因。
  • 然后让它同步。您甚至可以在正文 (&lt;body&gt;&lt;form&gt;) 标记之后打开表单标记,然后在关闭正文标记 (&lt;/form&gt;&lt;/body&gt;) 之前将其关闭。
猜你喜欢
  • 2019-01-20
  • 2016-06-18
  • 2020-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
  • 2014-05-22
相关资源
最近更新 更多