通过ajax(post)向服务器发送大量数据(base64字符串)

时间:2013-01-10 11:31:29

标签: ajax post memory-leaks base64

我有页面,我在其上持有一些图像的base64表示(每个大约1mb),现在我通过ajax将这些数据发布到服务器(contentType是默认的 - url编码的)。如果我有一个或两个图像要发送,这工作正常,但如果我有超过2mb的请求数据,服务器不接受,请求参数没有任何东西,所以我增加了我的tomcat中的maxPostSize ,它开始接受更多的数据,但如果这会产生内存问题,我会有点担心,特别是如果我有很多图像?

我还尝试将contentType更改为multipart / formdata,但它出错了,“说请求被拒绝,因为没有找到多部分边界”。

修改

我想我应该详细说明,实际上需求是这样的 - 用户点击上传链接,他应该能够上传文件,然后他应该能够在页面上看到图像的缩略图(全部这没有刷新页面)。我尝试了以下方法。

  1. 使用文件阅读器阅读文件,显示缩略图,然后明确触发上传,当用户点击保存时,简单但不跨浏览器,在IE中不起作用
  2. 允许用户上传文件从服务器发送base64版本的图像,当用户点击save时,将base64字符串发送回服务器并将其转换回字节数组并保存到数据库。
  3. 现在,我有一个屏幕,其中默认情况下所有记录都是可编辑的,因此单击保存意味着将所有记录的图像字符串发送到服务器,这将导致内存问题。

    “3”。尚未实现,但考虑先保存其他字段(非图像字段),然后逐个显式保存图像(看起来没问题,但请求数量会很高)

    等待有人建议第4种方法,希望我已经解释了足够的

1 个答案:

答案 0 :(得分:-3)

免责声明......没有做过这样的事,但......

为什么不单独发送每张图片? :)