2

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

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

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

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

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

4

1 回答 1

2

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

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

于 2013-02-26T15:57:53.543 回答