【发布时间】:2018-03-08 22:53:05
【问题描述】:
我在通过 html 表单发送长文本字符串时遇到了一些麻烦。
我想将图像数据 uri 发送到一个 php 页面,在那里可以处理数据并将其保存在 MySQL 中。
图像数据示例:
data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfO..
数据来自我在页面上的剪贴板粘贴功能。
我在php页面保存数据没有问题,但是把数据拿到页面就麻烦了。
下面的脚本是我尝试从客户端页面发送数据的脚本:
formData = new FormData();
formData.append('imagedata','data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfO..');
$.ajax({
url: "test.php?reportid=1",
type: "POST",
cache: false,
contentType: false,
processData: false,
data: formData
}).done(function(e){
alert(e);
});
如果图像尺寸很小,它可以正常工作,但如果我得到一个超过 250KB 的图像,它会在发布过程中丢失数据。
也许有人有更好的方法将数据发布到服务器?
【问题讨论】:
-
在 php.ini 中,upload_max_filesize & post_max_size 是什么?
-
两者都设置为256M
-
代替
data: formData试试data: "imagedata=" + encodeURIComponent('data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfO..')。除此之外,您是随机丢失数据还是限制在某个字节限制? -
是的,我丢失了数据,而且它会有所不同,如果我使用
data: "imagedata=" + encodeURIComponent('data:image....,那么我应该如何在 PHP 页面上接收它? $_POST?
标签: javascript php jquery ajax post