【发布时间】:2014-08-08 11:50:59
【问题描述】:
我已经使用示例 here 实现了 JQuery FileUpload
我想通过 JQuery 文件上传传递额外的参数,所以我使用 formdata 字段来传递值。请参考code-sn-p。
$('#upload').fileupload({
dataType : 'json',
sequentialUploads : true,
formData : {
projectId : '222'
},
done : function(e, data) {
$.each(data.result, function(index, file) {
console.log(file);
});
}
});
我可以看到发布的“projectId”值,但无法访问它。
Firebug 显示以下 POST 信息:
-----------------------------2784773938064489741662764824
内容配置:表单数据; name="projectId" 222
------------------ 2784773938064489741662764824 内容处置:表单数据;名称=“文件”; filename="account.png" 内容类型:image/png PNG
但是,我可以通过我的控制器访问文件,但不能访问 projectId。
@RequestMapping(value = "/ajaxUpload", method = RequestMethod.POST)
public @ResponseBody List<ProjectAttachmentDto> upload( @RequestParam("file") MultipartFile file, @RequestParam("projectId") String projectId ) {
// Do custom steps here
// i.e. Save the file to a temporary location or database
System.out.println("Writing file to disk...done");
List<ProjectAttachmentDto> uploadedFiles = new ArrayList<ProjectAttachmentDto>();
for (ProjectAttachmentDto projectAttachmentDto : uploadedFiles) {
System.out.println(projectAttachmentDto.getProjectID());
}
ProjectAttachmentDto u = new ProjectAttachmentDto(1,
file.getOriginalFilename(), file.getSize(),
"http://localhost:8080/" + file.getOriginalFilename());
uploadedFiles.add(u);
return uploadedFiles;
}
我收到错误 NetworkError: 405 Method Not Allowed
我想访问控制器中的 projectId 值。
【问题讨论】:
标签: spring-mvc jquery-file-upload