- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当用户将文件拖放到页面上时,我正在使用 formdata 上传文件。客户端一切正常,文件详细信息存在于请求 header 中,但是当我 print_r($_FILES) 时,它返回一个空数组。未设置服务器端限制。我确实通过手动上传文件进行了测试。
请求详细信息:https://www.dropbox.com/s/tfta4ulqlxsaism/csz.PNG
js代码:
$('html').live('drop', function(e)
{
try
{
e.stopPropagation();
e.preventDefault();
var files = e.originalEvent.dataTransfer.files || e.target.file || e.dataTransfer.files;
var file;
var len = files.length;
var i =0;
var formdata = new FormData();
for ( ; i < len; i++ ) {
file = files[i];
if ( window.FileReader ) {
reader = new FileReader();
reader.onloadend = function (e) {
$('html').removeClass('hover');
};
reader.readAsDataURL(file);
}
if (formdata) {
formdata.append("files[]", file);
}
}
if (formdata)
{
$.ajax({
url: base_url+"/kh/site/file/upld",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success : function(res){
console.log(res);
},
error: function(res){
console.log(res);
}
});
}
return false;
}catch(a){console.log(a.message);}
});
PHP 代码:
<?php print_r($_FILES); ?>
我缺少什么?
提前致谢!
最佳答案
我遇到了完全相同的问题,事实证明这不是 AJAX 错误。对于 PHP,上传不仅受到 upload_max_filesize
的限制。在服务器上配置上传参数时请考虑以下 ini:
max_execution_time
:如果您将 upload_max_filesize
设置为 100mb,并且脚本的 max_execution_time 为 5 秒,服务器很可能会返回 404 或 500。
max_input_time
:您希望该值足够高,以便完成完整上传,具体取决于upload_max_filesize
。现在的互联网连接有很大的下载带宽,但上传却有问题。
post_max_size
:根据定义,上传过程是一个 $_POST 请求,因此如果 upload_max_filesize
的值为 100mb,则不能有 post_max_size
值较低。嗯,实际上可以,但是上传时,如果总上传大小在 post_max_size
和 upload_max_filesize
之间,$_FILES 仍然为空。
关于javascript - Ajax上传文件: $_FILES is empty but files exists in request header,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23705796/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!