【发布时间】:2014-03-10 19:17:34
【问题描述】:
我是 JQuery 文件上传器的新手,我正在实现其中的一部分。当我从 JQuery 文件上传器中选择图像时,调用会转到服务器端(SpringController),但 API 返回:
406 不可接受
这是我对服务器的调用:
$(this).fileupload({
// Uncomment the following to send cross-domain cookies:
//xhrFields: {withCredentials: true},
url: uploadSettings.upload_url,
type: 'POST',
maxNumberOfFiles: uploadSettings.maxNumberOfFiles,
maxFileSize: uploadSettings.maxFileSize,
acceptFileTypes: uploadSettings.fileSelection,
sequentialUploads: true,
paramName:'uploadfiles[]',
dataType: 'text'
});
我的 Java 控制器代码如下:
@RequestMapping(value = { "/user/fileuploader" }, method = RequestMethod.POST,
produces = "text/plain")
@ResponseBody public String uploadFileHandler(
@RequestParam("uploadfiles[]") MultipartFile[] file,
HttpServletRequest request, HttpServletResponse response) {
有什么建议吗?
【问题讨论】:
-
您的后端服务告诉您,它返回的响应类型未在您的客户端请求的 Accept-Type HTTP 标头中提供。参考:en.wikipedia.org/wiki/List_of_HTTP_header_fields 1.找出服务返回的响应(内容类型) 2.在您的请求 Accept 标头中提供此(内容类型)。 en.wikipedia.org/wiki/HTTP_status_code -> 406
-
您的意思是需要用 url 描述 content-type:'multipart/form-data'。我从控制器返回的响应是我在数据中描述的文本/纯文本:'text'。我的接受类型是“接受文本/纯文本,/;q=0.01”
标签: java jquery file-upload jquery-file-upload jhipster