java文件上传--简单实现
程序员文章站
2024-02-19 11:31:58
...
1,前端jquery代码:
//封装上传参数
var files = $("#photoClick")[0].files; //photoClick是<input type = 'file' id ='photoClick'/>标签
var formData = new FormData();
for(var i = 0; i < files.length; i++){
// 此处可传入多个参数
formData.append('file', files[i]);
}
//这里就不用描述了,使用ajax,传入后台即可
2,controller代码 :
//上传图片controller
@RequestMapping(value="/smGoodsTp/uploadTp", method= RequestMethod.POST)
@ResponseBody
public String selectSmGoodsTypeAll(@RequestParam(value = "file") List<MultipartFile> list, HttpServletRequest request) throws IOException {
//申请一个返回变量
JSONObject res = new JSONObject();
List<String> img_url_list = new ArrayList<>();
//文件不为空,进行上传
Properties properties = new Properties();
properties.load(this.getClass().getResourceAsStream("/resource/common.properties"));
String path = properties.getProperty("uploadFileUrl"); //这里我是给目标路径放到公共资源文件里面的,这里也可以写死上传到那个路径下面
for (MultipartFile file : list) {
//文件夹不存在,就创建
File file1 = new File(path);
if (!file1.exists()) {
file1.mkdirs();
}
String fileName = file.getOriginalFilename();
try {
file.transferTo(new File(file1, fileName));
img_url_list.add("../images/goodImgs/"+fileName);
} catch (IOException e) {
e.printStackTrace();
}
}
res.put("fileUrlList", img_url_list); //文件的集合
//返回操作结果
return res.toJSONString();
}
上一篇: ES6 的几个小技巧
下一篇: Java在页面实现文件上传具体代码