您的位置:首页 > 编程语言 > Java开发

使用webUploader上传文件时前台添加自定义参数(java后台获取)

2017-12-06 18:26 1431 查看


webuploader的使用,这里就不多说了,官网上一大把!http://fex.baidu.com/webuploader/

实现如图所示功能:需引入:commons-fileupload.jar

js: 

uploader.on('uploadBeforeSend', function (obj, data) {
//传入表单参数
data = $.extend(data, {
"age": "18",
"name": "John"
});
});


java后台使用ServletFileUpload来获取表单参数(包括file类型和普通表单数据类型):

注意:使用ServletFileUpload需要禁掉
multipartResolver组件,如:



public void uploader(HttpServletRequest request) {
boolean flag = ServletFileUpload.isMultipartContent(request);
if (flag) {
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
// 解析request请求
try {
List<FileItem> list = upload.parseRequest(request);

for (FileItem item : list) {
//是否是普通表单类型
if (item.isFormField()) {
if ("age".equals(item.getFieldName())) {
age = item.getString("UTF-8");
}
if ("name".equals(item.getFieldName())) {
name = item.getString("UTF-8");
}
} else {
//该表单项是file类型
File file = new File("自定义path");
if (!file.exists()) {
file.mkdirs();
}
String fieldName = item.getName();
File uploaderPath = new File(file, fieldName);
//上传
item.write(uploaderPath);
}
}
} catch (Exception e) {
logger.error(e.getMessage(), e);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐