【发布时间】:2012-12-12 20:24:12
【问题描述】:
在无状态移动应用程序中,我需要从移动客户端将图像文件上传到我的服务器,该服务器公开基于 Spring MVC 的 Web 层(稍后我将需要对该图像执行 OCR 过程,但这与这一点)。
我见过的所有 spring MVC 文件上传示例都是基于 MultipartFiles 的,它不符合我的需求,因为它们假设 modelAndView 存在,但我的服务器是无状态的,我不使用模型或视图,也不使用 http会话,只有纯简单的 JSON 格式的 restful 请求。
我想知道最好的方法是什么?
现在,我创建了一个测试,将我的图像作为字符串发送到我的服务器(使用 base64 编码)。比如:
ClassPathResource myFile= new ClassPathResource("imageName.jpg");
byte[] fileByteArray = Files.readAllBytes(myFile.getFile().toPath());
String imageAsString = Base64.encodeBase64URLSafeString(fileByteArray);
现在我将这个 imageAsString 发送给我的控制器。 然后,在我的控制器中,我可以使用以下方式将此字符串解码回字节数组:
public static byte[] decodeFile(String fileDataString) {
return Base64.decodeBase64(fileDataString);
}
所以在我的服务器中,我现在持有一个字节数组,它是原始数据,除了将它写入 FileOutputStream 之外,我不确定我可以用它做任何事情。有人可以推荐将图像上传到我的服务器的良好做法吗?
【问题讨论】:
标签: spring-mvc file-upload image-uploading