public String uploadToTencent(MultipartFile file) {
//使用异步测试
//文件需要在线程外先保存,防止http请求完成后 框架自动删除缓存,导致参数文件丢失
String localpath = savePhotoFileToLocal(file);
threadPool.submit(() -> {
cosUtils.upLoadFileToCosAmuse(localpath);
File fileLocal = new File(localpath);
if (fileLocal.exists()) {
fileLocal.delete();
}
});
//删除本地文件 TODO:
return file.getOriginalFilename();
}
在异步代码前,先将上传的multipartFile 文件保存到本地副本,然后再异步上传本地文件,否则会因为 http请求完毕后缓存清理导致未上传的临时文件被清理