我需要使用
AJAX从客户端发送图像数据(data:image / png; base64)到我的
PHP服务器.我的AJAX调用如下所示:(form_data包含图像)
$.ajax({ url: global_siteurl+'/save_image',data: form_data,dataType: 'json',type: 'post',contentType: "application/x-www-form-urlencoded; charset=UTF-8",success: function (retval) { process_save_image(retval); } });
然后我将编码的图像数据作为blob存储在数据库中(是的 – 背后的故事!).当我检索图像数据时,它似乎已损坏并且无法正确显示.几乎就像在图像数据中引入了换行符和空格一样.我在ajax调用中缺少任何参数吗?关于可能出错的任何想法?我可以发送的图像数据是否有大小限制?
Mmiz
解决方法
结果问题与此帖中描述的(并已解决)相同:
Blob data replace ‘+’ with space
结果我需要在我获取/发布它时使URL的blob数据安全.在PHP服务器端,我使用了上面发布的功能.在Javascript方面,我使用了以下函数:
http://notepad2.blogspot.com/2012/08/javascript-make-base64-encoded-string.html
花了很多时间盯着编码的图像数据注意到/ =被替换了.