java 文件上傳 transferTo

使用 spring

如果想傳單個的文件 修改MultipartFile []去掉 ‘[ ]’.

	@ResponseBody
    @RequestMapping(params = "method=uploadFile")
    public String uploadFile(@RequestParam MultipartFile[] attachments,@RequestParam("userPath") String userPath,HttpServletRequest request) {
        //獲取部署路徑目錄
        String webPath = request.getSession().getServletContext().getRealPath("/");
        // 設置用戶專用文件夾
        String filePath = "uploaddir/"+userPath;
        File dir = new File(webPath+filePath);
        if (!dir.exists()) {
            dir.mkdirs();
        }

        List<Map<String,Object>> resultList = new ArrayList<>();
        Map<String, Object> result = null;
        try {
            for(MultipartFile myfile : attachments){

                String filename = getFilename(myfile.getOriginalFilename());
                //上傳文件
                File file = new File(webPath+filePath,filename);
                myfile.transferTo(file);
                //將文件名和文件路徑返回
                result = new HashMap<String, Object>();
                result.put("filename", filename);//原文件名
                result.put("filepath", filePath);//文件全路徑
                result.put("fullfilepath", webPath+filePath);//文件全路徑

                resultList.add(result);
            }
        } catch (IOException e) {
            logger.error(e.getMessage());
        }
       return JSON.toJSONString(resultList);;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章