java - FormHttpMessageConverter filename from byte array -
i'm trying upload file post request. post must of enclosure-type multipart/form-data. insert file byte array:
multivaluemap<string, object> requestparameters = new linkedmultivaluemap<string, object>(); byte[] image=getimage(); // ... adding parameters in requestparameters // todo filename requestparameters .add("file", image);
then make post request org.springframework.http.converter.formhttpmessageconverter:
formhttpmessageconverter multipartformconverter = new formhttpmessageconverter(); multipartformtemplate = new resttemplate(); multipartformtemplate.setmessageconverters(collections.<httpmessageconverter<?>> singletonlist(multipartformconverter)); responseentity<string> uploadanswer=multipartformtemplate.postforentity(freeplanresponse.geturl(), requestparameters, string.class);
the problem - cant found, how change filename. result default filename (${filename}) file hosting, i'm using: image hosting. uses: amazon s3. here post example >>
i found solution:
inherit formhttpmessageconverter , override getfilename method:
public class formhttpmessageconverterimagename extends formhttpmessageconverter { private string filename; public void setfilename(string filename){ this.filename=filename; } @override protected string getfilename(object part) { return filename; } }
but maybe there more beautifull solution.
Comments
Post a Comment