@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();
}
}
}
MultipartFile上傳單文件或多文件,轉成file
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.