在我的网站上我上传了一张图片,需要返回该图片的数据URI,但我无法知道如何操作(必须是服务器端)。
我尝试了以下代码,但它似乎编码了文件的名称。
@RequestMapping(value="/path/toDataURL", method=RequestMethod.POST, headers = "content-type=multipart/form-data")
public @ResponseBody String uploadMultipart(HttpServletRequest request, HttpServletResponse response, @RequestParam("file") MultipartFile multiPart) {
try {
return "data:image/png;base64," + Base64.encodeBase64(multiPart.getBytes());
} catch (IOException e) {
e.printStackTrace();
}
return "";
}
如何获取图像的数据URI?
答案 0 :(得分:1)
经过多次搜索,我找到了答案here。
StringBuilder sb = new StringBuilder();
sb.append("data:image/png;base64,");
sb.append(StringUtils.newStringUtf8(Base64.encodeBase64(imageByteArray, false)));
return sb.toString();
诀窍是StringUtils.newStringUtf8(...)
我尝试的其他方法返回了一个10个字符长的字符串或一个不正确形成的数据URI。