Javascript 文件上传302?

Javascript 文件上传302?,javascript,php,web,cpanel,Javascript,Php,Web,Cpanel,我终于让我的异步文件上传工作,除了它似乎只处理文本文件 如果我上传一个文本文件,它会工作并保存该文件。如果我上传一个图像,它会失败firebug报告响应状态为302,我会被发送到我的public_html的根目录 我认为这可能与文件大小有关,但事实似乎并非如此,因为我将文本文件设置为比图像大,结果是这样的 我不确定从哪里开始故障排除,我将把PHP相关的代码片段放在下面 PHP $fn = (isset($_SERVER['HTTP_X_FILENAME']) ? $_SERVER['HTTP_X

我终于让我的异步文件上传工作,除了它似乎只处理文本文件

如果我上传一个文本文件,它会工作并保存该文件。如果我上传一个图像,它会失败firebug报告响应状态为302,我会被发送到我的public_html的根目录

我认为这可能与文件大小有关,但事实似乎并非如此,因为我将文本文件设置为比图像大,结果是这样的

我不确定从哪里开始故障排除,我将把PHP相关的代码片段放在下面

PHP

$fn = (isset($_SERVER['HTTP_X_FILENAME']) ? $_SERVER['HTTP_X_FILENAME']:false);
echo $fn;

try{
    file_put_contents("upload/".$fn, file_get_contents("php://input"));
    //echo file_get_contents("upload/".$fn);
}catch(exception $e){
    echo $e->getMessage();
}
JS

function UploadFile(file){
    var xhr = new XMLHttpRequest();
    //on the below if
    //xhr.upload: returns a XMLHttpRequestUpload Object, I believe just to check if it's supported in broswer
    if (xhr.upload){
        xhr.open("POST","http://domain.com/absolutepath/what.php",true);
        xhr.setRequestHeader("X-FILENAME",file.name);

        xhr.onreadystatechange = function(){
        if(xhr.status == 200 && xhr.readyState == 4){
            callback(xhr.responseText);
        }
    }
    xhr.send(file);
    }else{
        alert("Sorry, don't think this is supported in your browser.");
    }
}

是否有我应该设置的请求头?我需要更改php.ini中的某些内容吗?我认为我的最大帖子大小是32MB,不确定还有什么会影响这一点

302
是状态代码,而不是错误代码。这意味着服务器正在将您重定向到另一个页面。但状态为OK并已找到

该问题通常是由于服务器打开了
mod security
,并且过滤引擎过滤上载而导致的

若要解决此问题,请将此代码添加到主机帐户的
.htaccess
文件中(如果您是客户端),或在apache配置中编辑(如果您是管理员):

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

分离过滤器发动机关闭
secfilters可以关闭

302
是状态码,而不是错误码。这意味着服务器正在将您重定向到另一个页面。但状态为OK并已找到

该问题通常是由于服务器打开了
mod security
,并且过滤引擎过滤上载而导致的

若要解决此问题,请将此代码添加到主机帐户的
.htaccess
文件中(如果您是客户端),或在apache配置中编辑(如果您是管理员):

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

分离过滤器发动机关闭
secfilters可以关闭

您的可能副本可能在正确的路径上。在我的主机帐户上更改它不会改变任何事情,我将返回我的web主机,看看他们是否能提供帮助。我还能读到更多吗?是的,搜索带有上传错误的mod_安全性。有很多关于谷歌的文章。尝试在本地主机中测试关闭。祝你好运你可能走对了。在我的主机帐户上更改它不会改变任何事情,我会回到我的网络主机,看看他们是否能提供帮助。我还能读到更多吗?是的,搜索带有上传错误的mod_安全性。有很多关于谷歌的文章。尝试在本地主机中测试关闭。祝你好运