我有一个页面,在该页面上我持有一些图像的 base64 表示(每个大约 1mb),现在我通过 ajax 将此数据发布到服务器(contentType 是默认的 - url 编码)。如果我有一个或两个图像要发送,这很好用,但是如果我有超过 2mb 的请求数据,服务器不接受,并且请求参数没有任何内容,所以我增加了我的 tomcat 中的 maxPostSize ,并且它也开始接受更多数据,但我有点担心这是否会造成内存问题,尤其是如果我有很多图像?
我也尝试将 contentType 更改为 multipart/formdata,但它出错了,“说请求被拒绝,因为没有找到多部分边界”。
编辑
我想我应该详细说明一下,实际上要求是这样的-用户单击上传链接,他应该能够上传文件,然后他应该能够在页面上看到图像的缩略图(所有这些都无需刷新这页纸)。我为此尝试了以下方法。
- 使用文件阅读器读取文件,显示缩略图,然后显式触发上传,当用户点击保存时,简单但不跨浏览器,在 IE 中不起作用
- 允许用户上传文件从服务器发送图像的base64版本,当用户点击保存时,将base64字符串发送回服务器并将其转换回字节数组并保存到数据库。
现在,我有一个屏幕,默认情况下所有记录都是可编辑的,因此单击保存意味着将所有记录的图像字符串发送到服务器,这当然会产生内存问题。
“3”。尚未实现,但考虑先保存其他字段(非图像字段),然后显式逐个保存图像(看起来还可以,但请求数会很高)
等待有人提出第四种方法,希望我已经解释得足够多了