使用Bootstrap fileinput 插件 进行图片上传,图片保存都很顺利,只是通过uploadExtraData传递的参数,后台接收不到。望指点:
前后端代码如下:
<div class= "row" style="height:300px">
<form enctype="multipart/form-data">
<div class="form-group">
<input id="uploadImage" type="file" multiple class="file" data-overwrite-initial="false" data-min-file-count="1">
</div>
</form>
</div>
js:
$("#uploadImage").fileinput({
uploadUrl: "#springUrl('/file/upload/upload3.html')", //上传的地址
language : "zh",//设置语言
allowedFileExtensions : ['jpg', 'png','gif'],
overwriteInitial: false,
maxFileSize: 1000,
maxFilesNum: 10, //最大上传文件数限制
initialCaption: "请选择上传图片",
dropZoneEnabled: false,
uploadExtraData:function(previewId, index) {
return {"name": "param"};
},
//allowedFileTypes: ['image', 'video', 'flash'],
slugCallback: function(filename) {
return filename.replace('(', '_').replace(']', '_');
}
});
试过:
uploadExtraData:{name:'asd'}
uploadExtraData:{'name':'asd'}
都不行.
java:
// 上传图片
@ResponseBody
@Permission(action = Action.Skip)
@RequestMapping("/upload3")
public Object uploadFile3(HttpServletRequest request, HttpServletResponse response, String param)
throws ServletException, IOException {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
System.out.println(param);
String name = request.getParameter("name");
boolean flag = true;
System.out.println(name);
.........
图片上传正常,可以接收的参数一直是null, 后台的name和param是我传递的key,但是打印出来的一直是null, 求指点,谢谢!!!