private class MultipartFileResource extends InputStreamResource {
private String fileName;
private InputStream inputStream;
public MultipartFileResource(InputStream inputStream, String fileName) {
super(inputStream);
this.inputStream = inputStream;
this.fileName = fileName;
}
@Override
public String getFilename() {
return this.fileName;
}
@Override
public long contentLength() throws IOException {
return inputStream.available();
}
@Override
public boolean equals(Object obj) {
return (obj == this || (obj instanceof MultipartFileResource && ((MultipartFileResource) obj).inputStream.equals(this.inputStream)));
}
}

调用方法:

List files
for (MultipartFile file : files) {
map.add("file", new MultipartFileResource(file.getInputStream(), file.getOriginalFilename()));
}