@Autowired
HttpServletRequest request;
@Value("${ueditor.upload.domain}")
private String webUploadDomain;
@Value("${txcloud.upload.dir}")
private String txcloudUploadDir;
@RequestMapping("/upload")
public RestResult upload(@RequestParam("file") MultipartFile file) {
String webUploadDir = UeditorUtil.getUploadDir();
if (!webUploadDir.endsWith(File.separator)) {
webUploadDir += File.separator;
}
String fileNameWhole = file.getOriginalFilename();
Integer indexOfDot = fileNameWhole.lastIndexOf(".");
String suffixName = "";
String fileName = "";
if (indexOfDot > 0) {
suffixName = fileNameWhole.substring(indexOfDot);
fileName = fileNameWhole.substring(0, indexOfDot);
} else {
fileName = fileNameWhole;
}
String date = TimeUtil.date2Str(new Date(), "yyyyMMddHHmmssS");
String newFileName = fileName + "-DATE-" + date + suffixName;
String destPath = webUploadDir + newFileName;
File dest = new File(destPath);
try {
file.transferTo(dest);
String filePath = txcloudUploadDir + newFileName;
TxCloudUtil.upLoadByFile(dest, filePath);
FileUtils.forceDeleteOnExit(dest);
String url = webUploadDomain + filePath;
return RestResult.buildSuccess(url);
} catch (IOException e) {
log.error(e.getMessage(), e);
return RestResult.buildFailWithMsg(e.getMessage());
}
}配置上传的最大大小:
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;
import javax.servlet.MultipartConfigElement;
/**
* @author chenanlian
* 配置上传文件的最大大小
*/
@Configuration
public class MultipartConfig {
@Bean
public MultipartConfigElement multipartConfigElement(){
MultipartConfigFactory factory=new MultipartConfigFactory();
factory.setMaxFileSize(DataSize.parse("500MB"));
factory.setMaxRequestSize(DataSize.parse("500MB"));
return factory.createMultipartConfig();
}
}