0

我在我的项目中使用 jquery-file-upload,它在 chrome 中运行良好。但在 IE 中,它返回 (415 - Unsupported Media Type)(信息:系统在 ...OwnFileAPI 类中找不到任何使用空媒体类型的方法。验证是否存在使用指定媒体类型的方法。)

这是代码片段:

查询:

$('#file-upload-form').fileupload({
  sequentialUploads : true,
  add : function(e, data) {
    ...
    data.submit();
  },
  submit : function(e, data) {
   ...
  },
  progress : function(e, data) {
    ...
  },
  fail : function(e, data) {
    ...
  },
  done : function(e, data) {
    ...
  }
});

JSP:

<form class="row-fluid" id="file-upload-form" method="post" enctype="multipart/form-data" action="<c:url value="/resources/api/user/files/own/csrfToken/"></c:url><wm:csrfToken/>" target="files-upload-target">
    <span class="btn fileinput-button" id="file-upload-btn">
        <strong><fmt:message key="files.action.upload"/></strong>
        <input type="file" id="file-uploader" name="ownFile" tabIndex="-1">
    </span>

</form>

爪哇:

@CSRF
@Path(PathConst.OWN_FILE_API_CSRFTOKEN)
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_HTML)
public String upload(@PathParam("csrfToken") String csrfToken, InMultiPart inMP) {
    ......
}

请提供一些解决此问题的指示... THX!

4

1 回答 1

0

如果我的假设是正确的,那么您可以在 ajax 请求的帮助下提交文件。通过 ajax 请求提交文件时,您必须分配请求标头,例如 content-type 和 content-disposition 标头,并且您还必须将文件的内容作为边界分隔值发送,就像普通表单提交的工作方式一样。

也可以参考jQuery Ajax 文件上传

于 2013-03-12T10:13:38.557 回答