MultipartFile上傳單文件或多文件,轉成file

@ApiOperation(value = "上傳單文件")
    @PostMapping(value = "/uploadFile")
    @CrossOrigin
    @ResponseBody
    public Results<Object> uploadFile(@RequestParam MultipartFile multfile) {
        try {
            if (EmptyUtils.isNotEmpty(multfile)) {
                long size = multfile.getSize();
                if (size > 0) {
                    // 獲取文件名
                    String fileName = multfile.getOriginalFilename();
                    // 獲取文件後綴
                    String prefix=fileName.substring(fileName.lastIndexOf("."));
                    // 用uuid作爲文件名,防止生成的臨時文件重複
                    final File excelFile = File.createTempFile(UUID.randomUUID().toString(), prefix);
                    multfile.transferTo(excelFile);
                    String fileUrl = qiNiuUtil.fileUpload(excelFile, multfile.getOriginalFilename());
                    //程序結束時,刪除臨時文件
                    deleteFile(excelFile);
                    return new Results<>(MessageCode.CODE_200, MESSAGE_200, fileUrl);
                }
            }
            return new Results<>(MessageCode.CODE_201, MESSAGE_201, null);

        } catch (Exception e) {
            log.error("LiveRoomController---》delete:" + e.getMessage());
            return new Results<>(MessageCode.CODE_500, MESSAGE_500, null);
        }
    }
    
	@ApiOperation(value = "上傳多文件")
    @PostMapping(value = "/uploadFile")
    @CrossOrigin
    @ResponseBody
    public Results<Object> uploadFile(@RequestParam MultipartFile[] multipartFiles) {
        try {
            if (EmptyUtils.isNotEmpty(multipartFiles)) {
                List<String> results = new ArrayList<>();
                for (int i = 0; i < multipartFiles.length; i++) {
                    MultipartFile multipartFile = multipartFiles[i];
                    long size = multipartFile.getSize();
                    if (size > 0) {
                        // 獲取文件名
                        String fileName = multipartFile.getOriginalFilename();
                        // 獲取文件後綴
                        String prefix=fileName.substring(fileName.lastIndexOf("."));
                        // 用uuid作爲文件名,防止生成的臨時文件重複
                        final File excelFile = File.createTempFile(UUID.randomUUID().toString(), prefix);
                        multipartFile.transferTo(excelFile);
                        String fileUrl = qiNiuUtil.fileUpload(excelFile, multipartFile.getOriginalFilename());
                        //程序結束時,刪除臨時文件
                        deleteFile(excelFile);
                        results.add(fileUrl);
                    }
                }
                return new Results<>(MessageCode.CODE_200, MESSAGE_200, results);
            }
            return new Results<>(MessageCode.CODE_201, MESSAGE_201, null);

        } catch (Exception e) {
            log.error("LiveRoomController---》delete:" + e.getMessage());
            return new Results<>(MessageCode.CODE_500, MESSAGE_500, null);
        }
    }


    /**
     * 刪除文件
     *
     * @param files
     */
    private void deleteFile(File... files) {
        for (File file : files) {
            if (file.exists()) {
                file.delete();
            }
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章