今天为了需要,把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>
后来返回上传地址了