坑还是有点,特别是加spring事务,还有就是删除文件不稳定,还有接收参数时一些注解会造成误导,有些注解也是不能用 的,请慎重,只做参考(上传TXT文件)。
1.准备:
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-csv</artifactId> <version>1.4</version> </dependency>
2.工具类,使用CSV工具类,生成file文件
package com.rand.safc.common.comm.util;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.io.IOException;
import java.net.URL;
/**
* Created with IntelliJ IDEA.
*
* @Author: 9043
* @Date: 2020/07/30/15:50
* @Description:
*/
public class CsvImportUtil {
//上传文件的路径
private final static URL PATH = Thread.currentThread().getContextClassLoader().getResource("");
/**
* @return File 一般文件类型
* @Description 上传文件的文件类型
* @Param multipartFile
**/
public static File uploadFile(MultipartFile multipartFile) {
// 获 取上传 路径
String path = PATH.getPath() + multipartFile.getOriginalFilename();
try {
// 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例
File file = new File(path);
// 此抽象路径名表示的文件或目录是否存在
if (!file.getParentFile().exists()) {
// 创建由此抽象路径名命名的目录,包括任何必需但不存在的父目录
file.getParentFile().mkdirs();
}
// 转换为一般file 文件
multipartFile.transferTo(file);
return file;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
3.Controller
package com.soko.safc.admin.controller.promotion;
import com.rand.safc.common.comm.util.CsvImportUtil;
import com.rand.safc.common.model.promotion.SmsMarketing;
import com.rand.safc.common.service.promotion.SmsMarketingService;
import co