Backbone + FileUpload + Java Servlet + Jackson - Base64 = ni



到目前为止,我们一直在使用JavaScript中的Backbone和Java Servlet来同步客户端和服务器之间的数据。我们使用Jackson将JSON转换为Java对象服务器端。

我们的模型是一个概要文件对象,其中包含有关用户的基本信息,如姓名、电子邮件等。现在我们想向该对象添加一个概要图片

我们已经试用了FileReader——将图像上传到客户端,然后将其转换为Base64。这适用于使用JSON上传。但我们现在了解到,FileReader并没有得到完全支持(特别是在旧版本的IE和Safari以及一些移动浏览器上(。

我们曾考虑过进行表单多部分上传,但之后我们将不得不中断主干,因为我们将不再在保存期间发送json。也不清楚我们是否可以使用Jackson将数据自动解析为JavaObject,或者我们是否必须自己完成。文件上传看起来相当直接,但自动封送处理却不是。

肯定有人以前遇到过这个问题?

我对图像上传的想法:对于支持它的浏览器,继续做Base64。通过这种方式,您可以像预期的那样使用Base64和JSON。看起来所有版本的Chrome、Firefox以及最新版本的Safari和Internet explorer都支持它

然后,对于那些不支持它的人,做两个api调用:一个上传图像(返回url(,另一个上传商家数据(带url(。这样,我们仍然可以对商家数据使用主干/json/jackson,同时保持向后兼容性

最新更新