Skip to content

Support use of MultipartFile as input to RestTemplate or WebClient [SPR-16808] #21348

@spring-projects-issues

Description

@spring-projects-issues

Andrew Neeson opened SPR-16808 and commented

I had a need to proxy a MultipartFile from a controller to a RestTemplate.  I did not want the contents of this file to be stored locally (as with FileSystemResource or ByteArrayResource) so I created a MultipartFileResource.

I though this would be a useful addition to Spring's resource types, so I intended to submit a pull request.  Upon searching for similar issues I found #18147.

After reading through the comments, my understanding was that the resource wasn't created because of issues opening the InputStream twice.  Once for the getInputStream() call and another by the contentLength() call (by virtue of AbstractResource using the inputstream to calculate this value).

However a MultipartFile already provides the content length (without accessing the InputStream).  So why not use that?  I.e.

@Override
public long contentLength() throws IOException {
 return multipartFile.getSize();
}

 

Assuming that:

 I would like Spring to include a MultipartFileResource.  I'd be happy to submit a PR.

 


Affects: 5.0.6

Issue Links:

Metadata

Metadata

Assignees

Labels

in: coreIssues in core modules (aop, beans, core, context, expression)type: enhancementA general enhancement

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions