Javascript $\u在PHP中通过表单发送base64图像时,POST为空
我有一个使用croppie的图像上传脚本,它裁剪一个图像并生成一个base64字符串,我把它放在一个隐藏的输入上,然后发送到我使用codeigniter和php的服务器上,一旦到了那里,我解码并上传它,代码可以正常工作,但是由于某些原因,当我上传一些图片时,$\u POST会变成null,服务器不会收到任何东西 我在网上查了一下,它看起来像是一个关于post_max_大小的问题,并与Javascript $\u在PHP中通过表单发送base64图像时,POST为空,javascript,php,codeigniter,Javascript,Php,Codeigniter,我有一个使用croppie的图像上传脚本,它裁剪一个图像并生成一个base64字符串,我把它放在一个隐藏的输入上,然后发送到我使用codeigniter和php的服务器上,一旦到了那里,我解码并上传它,代码可以正常工作,但是由于某些原因,当我上传一些图片时,$\u POST会变成null,服务器不会收到任何东西 我在网上查了一下,它看起来像是一个关于post_max_大小的问题,并与 if(!empty($\u SERVER['CONTENT\u LENGTH'])和&empty($\u POS
if(!empty($\u SERVER['CONTENT\u LENGTH'])和&empty($\u POST)){
抛出新异常('PHP因为请求超过POST_max_size'而丢弃POST数据,.ini_get(“upload_max_filesize”));
}否则{
变量转储($\u POST);
}
它返回异常,但仅此而已,图像并没有那么长,我已经将我的主机升级到了我能达到的最大数量
post_max_size 128M
suhosin.post.max_value_length 3000000
suhosin.post.max_vars 3000000
suhosin.request.max_vars 3000000
upload_max_filesize 1G
但这并没有解决我的问题,我尝试了更多的研究这个问题,但没有结果
这是表格
重大事件
名称*:
描述*:
非正式:
请选择可争议的促销活动*:
选择图像*:
Los campos marcados con*son obligatorios
那么第一个问题,图片上传了吗?查看您的浏览器检查器并检查请求。@miken32-同样的事情,就像在大多数浏览器中添加一样,您可以点击f12
,然后转到浏览器开发工具中的network
面板,查看实际请求以查看数据是否正在发送。这将让您知道问题是在Javascript(客户端)还是服务器端。该特定图像上的请求为空,任何其他图像上载都没有问题。显而易见的问题是,一个图像的大小有什么显著不同,大小
,文件类型jpg,png,gif
等。可能该文件已损坏等。。也许你有一个更大的图像,或者它是一个bmp
而不是jpg
等等…我检查了图像,但没有发现任何奇怪的东西,它是一个jpg 750x500px,相当小,有74kb,我编辑和更改了格式,但它不会上传,我只是将其灰度化,然后上传了第一个问题,图片上传了吗?查看您的浏览器检查器并检查请求。@miken32-同样的事情,就像在大多数浏览器中添加一样,您可以点击f12
,然后转到浏览器开发工具中的network
面板,查看实际请求以查看数据是否正在发送。这将让您知道问题是在Javascript(客户端)还是服务器端。该特定图像上的请求为空,任何其他图像上载都没有问题。显而易见的问题是,一个图像的大小有什么显著不同,大小
,文件类型jpg,png,gif
等。可能该文件已损坏等。。也许你有一个更大的图像,或者它是一个bmp
而不是jpg
等等…我检查了图像,但没有发现任何奇怪的东西,它是一个jpg 750x500px,相当小,有74kb,我编辑和更改了格式,但它不会上传,我只是将其灰度化,然后上传
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#imgPlace').attr('src', e.target.result);
$('#imgPlace').css({
height: '100%'
});
var uploadCrop = $('#imgPlace').croppie({
enableExif: true,
viewport: {
width: 800,
height: 600
},
boundary: {
width: 1024,
height: 1024
},
update: function (data) {
uploadCrop.croppie('result', 'base64', 'viewport', 'png').then(function(newImg) {
$('#croppedData').val(newImg);
console.log(newImg);
});
}
});
uploadCrop.bind({
url: e.target.result,
});
}
reader.readAsDataURL(input.files[0]);
}
}