我们的用户可以使用从Flash AS3到PHP然后到我们的Web服务器的URLRequest POST方法将文件上传到我们的服务器。我们最近在LOG文件中发现某些浏览器将POST请求更改为GET请求,导致文件上传无用。
我们不确定这里发生了什么。这是我们使用的代码: AS3
var request:URLRequest = new URLRequest;
request.requestHeaders.push(new URLRequestHeader("pragma", "no-cache"));
request = new URLRequest ("http://www.domain.com/uploads/uploader.php");
request.data = variables;
request.method = URLRequestMethod.POST;
PHP
<?php
$filename = $_FILES['Filedata']['name'];
if($_POST['count'] == 0){
move_uploaded_file($_FILES['Filedata']['tmp_name'], 'temp/'.$_POST['folderString'].'/dateiVorne/'.$filename);
}
if($_POST['count'] == 1){
move_uploaded_file($_FILES['Filedata']['tmp_name'], 'temp/'.$_POST['folderString'].'/dateiHinten/'.$filename);
}
?>
的.htaccess
# Redirect non-www urls to www
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
答案 0 :(得分:0)
原因可能是:
如果在Flash Player中运行且引用的表单没有正文,则为Flash 即使设置了方法,播放器也会自动使用GET操作 到URLRequestMethod.POST。因此,建议始终使用 包括一个“虚拟”主体,以确保使用正确的方法。
我建议您始终包含虚拟URLVariable,例如新的URLVariables(“v = 0”);
选中此link