java文件上传--简单实现

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();
    }

猜你喜欢

转载自blog.csdn.net/gelinwangzi_juge/article/details/114925936