Javascript 使用Filereader、jQuery、Ajax和PHP上传图像。图片太大,无法发布?
我在使用jQueryAjax post请求将图像内容从客户端js发送到服务器端php时遇到问题 我使用以下代码作为dataurl读取该文件:Javascript 使用Filereader、jQuery、Ajax和PHP上传图像。图片太大,无法发布?,javascript,jquery,ajax,filereader,Javascript,Jquery,Ajax,Filereader,我在使用jQueryAjax post请求将图像内容从客户端js发送到服务器端php时遇到问题 我使用以下代码作为dataurl读取该文件: this.readFile = function(file, onLoadCallback){ var reader = new FileReader(); reader.onload = onLoadCallback; reader.readAsDataURL(file); }; 而且效果很好 现在我想将数据传输到服务器并保存图
this.readFile = function(file, onLoadCallback){
var reader = new FileReader();
reader.onload = onLoadCallback;
reader.readAsDataURL(file);
};
而且效果很好
现在我想将数据传输到服务器并保存图像,但是如果图像大于800kB左右,ajax请求成功而不发送数据。在php端,我得到了一个空字符串
阿贾克斯:
函数上载映像(num){
var数据_ob={
pic_name:images[num].getFilename(),
画廊:$(“#画廊id”).val(),
pic_数据:images[num].getPrev().split(“base64”)[1]
};
$.ajax({
url:“index.php/uploadImage”,
数据:{
数据:JSON.stringify(数据)
},
键入:“POST”,
数据类型:“文本”,
async:false,
超时:100000
}).成功(职能(e){
}).错误(函数(e){
警报(e);
});
}
浏览器:Firefox、Chrome
PHP框架:CodeIgniter
CSS框架:基础
jQuery 2.1.0
立柱最大尺寸=8M
结果,小图像:
结果,放大图像:
您确定在FileReader读取完文件后执行uploadImage功能吗?尝试用Firebug或类似工具调试代码(点击F12)。数据是通过AJAX请求发送的,还是也是空的?请看两幅图像(底部的链接)。我用一个按钮触发上传开始,在我能看到浏览器中的图像后单击它。所有数据在你的后端都是空的还是只有PICU数据?$\u POST[“数据”]为空?你在屏幕截图中显示的结果没有将
超时设置为10毫秒,或者?对于这样的请求,10毫秒的时间非常短
function uploadImage(num){
var data_ob = {
pic_name : images[num].getFilename(),
gallery : $("#gallery_id").val(),
pic_data : images[num].getPrev().split("base64,")[1]
};
$.ajax({
url: "<?php echo(base_url());?>index.php/uploadImage",
data: {
data: JSON.stringify(data_ob)
},
type: 'POST',
dataType: 'TEXT',
async: false,
timeout: 100000
}).success(function(e){
}).error(function(e){
alert(e);
});
}