将网站移动到另一台服务器后,Flash上传停止了。经过一些调整和隔离问题后,我发现在SWF文件中(用于多次上传) FileReference.upload()方法不起作用。不调用item.upload(_root.uploadScript)调用的URL。
以下是代码:
闪光灯:
listener.onSelect = function(fileRefList:FileReferenceList){
var list:Array = fileRefList.fileList;
var item:FileReference;
_root.toUploadCount = list.length;
for(var i:Number = 0; i < list.length; i++) {
item = list[i];
if(item.size > maxSize)
ExternalInterface.call("tooBig", item.name);
else{
item.addListener(this);
item.upload(_root.uploadScript);
}
}
}
upload.php的:
<?php
$log = fopen('log.txt', 'a');
fwrite($log, 'Upload');
fclose($log);
item.upload(_root.uploadScript)返回true,但未创建日志文件。
CHMOD设置正确,upload.php的直接调用按预期创建了log.txt,并且所有内容都在以前的服务器上运行。
请帮助,我很无能为力。
感谢。
答案 0 :(得分:1)
我找到了解决方案。
服务器返回 HTTP错误406 。为防止出现这种情况,我需要添加 .htaccess 文件:
SetEnvIfNoCase Content-Type "^multipart/form-data;" "MODSEC_NOPOSTBUFFERING=Do not buffer file uploads"