我使用裁剪实用程序来调整图片大小,并将图像数据转换为Base64字符串。
-----------------------------27138656916051
Content-Disposition: form-data; name="typePhoto"
string
-----------------------------27138656916051
Content-Disposition: form-data; name="imageData"
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAfZ0lEQVR4nO2deXAUZfrHn1xkwgyRBEi4hbjAci4gp4gIhAWKy3IXLFgwBYKAEeVeCCvrz4NlAZFFYEPA4JLIJQoChiMi54olhENANOEK1wKGM5AIOb6
/P1Ld9sz09Ez3+04I8HyqupLp6X6et3v6M9PHexAYhvEIPegCMExZhgVhGANYEIYxgAVhGANYEIYxgAVhGANYEIYxgAVhGANYEIYxgAVhGANKVZAuXbrAbrd7nMLDwxEVFYWGDRviL3
/5C/Lz8y3l6dGjh2EeXyYzhIWFwW63o3z58pbKq9CvX.....bytes
当我得到
@RequestParam(value = "imageData") String data \\"data:image/png;base64,iVBORw0KGgoA....bytes"
我已经将文件上传实现为Multipart File以将其存储在文件系统中。是否可以将从请求参数解码的字节转换为MultipartFile?
答案 0 :(得分:0)
在ApplicationContext.xml中,您需要添加:
<beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<beans:property name="maxUploadSize" value="52428800"/>
</beans:bean>
然后你需要一个这样的Controller方法:
@RequestMapping(value = "/addattachment", method = RequestMethod.POST)
public
@ResponseBody
String addAttachments(@RequestParam("attachments") MultipartFile[] multipartFiles) {
if (multipartFiles != null && multipartFiles.length > 0) {
for (MultipartFile multipartFile : multipartFiles) {
try {
if (!(multipartFile.isEmpty())) {
String fileName = multipartFile.getOriginalFilename();
long fileSize = multipartFile.getSize();
byte[] bytes = multipartFile.getBytes();
// Call the save to DB or disk here.
}
} catch (Exception e) {
return "failure";
}
}
}
return "done";
}
如果您需要任何帮助,请知道。
另外,我刚才读到,你想要发送图像,那么你的控制器方法应该是这样的:
@RequestMapping(value = "/addimage", method = RequestMethod.POST)
public @ResponseBody String convertimagetopdf(@RequestBody String imagedat) {
//do stuff with image
}