今天为了需要,把File需要转为MultipartFile,下列代码,编译启动都没有问题
public static MultipartFile getMultipartFile(File file){
FileInputStream fileInputStream;
MultipartFile multipartFile;
try {
fileInputStream = new FileInputStream(file);
multipartFile = new MockMultipartFile(file.getName(),file.getName(),
ContentType.APPLICATION_OCTET_STREAM.toString(),fileInputStream);
} catch (Exception e) {
log.error("file转MultipartFile失败", e);
Result.error(ResponseCode.FILE_OPERATION_FAILED, e.getMessage());
return null;
}
return multipartFile;
}
但跟踪到下面需要上传文件的时候出错了,后面发现主要是上面函数出现问题
报下面错误org.springframework.mock.web.MockMultipartFile 这个类找不到
multipartFile = new MockMultipartFile(file.getName(),file.getName(),
但明明是加载了,编译启动没问题,但运行到这来出现没找到,比较奇怪。
网上有些资料需要说加载spring-test包,或单独自己写个这样的类来解决,或者尽量不要使用这样的类,但这些都不是很好的解决办法。
后来在pom.xml加载下面的jar包就解决了
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-mock</artifactId>
<version>2.0.8</version>
</dependency>
后来返回上传地址了