2

我有一个可以上传本地文件的简单 flex 应用程序。这是一个简单的按钮,点击事件会出现一个文件对话框。

然后,选定的文件由 PHP 脚本处理,在我的本地机器上运行良好。当我尝试将我的 flex-debug 或 flex-release 项目移动到远程服务器时,上传功能不再起作用。

如果检查网络,则执行 POST,但由于某些原因,它的状态为等待 1 分钟,但成功后运行不佳,如预期的那样,文件没有上传。

// file is a file:FileReference object
var uploadURL:URLRequest = new URLRequest();
var params:URLVariables = new URLVariables();
file.addEventListener(Event.COMPLETE, uploadComplete);
params.maxSize = maxSize;
uploadURL.method = URLRequestMethod.POST;
uploadURL.data = params;
uploadURL.url = uploadScript;
file.upload(uploadURL, IMAGE_FIELD);
file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadDataComplete);
file.addEventListener(Event.COMPLETE, uploadComplete);    

编辑:当我尝试将我从 Flash Builder 4.5 生成的调试文件夹从 C:\www 移动到 D:\www 上的第二个本地主机时,上传脚本不再起作用。也许我错过了一些部署选项,只能在我的 .mxml 所在的 C:\www 上看到它。

Edit2:远程服务器出现问题,即移动上传文件功能无法正常工作。问题出在upload.php 脚本上,毕竟不是Flex,感谢您的帮助,抱歉打扰了。

4

3 回答 3

3

尝试使用:

var request : URLRequest = new URLRequest("http://{you_site_domain}/upload.php");

并检查

loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, ioErrorHandler);
于 2013-02-13T14:37:44.757 回答
1

我想你应该检查几点-

1)您正在使用的服务路径,在浏览器地址栏中运行再次检查它。2)检查上传路径文件夹权限。

于 2013-02-13T08:33:15.820 回答
1

1) 提供服务路径或类似示例。

2)上传的文件有多大,你测试过2Mb以下吗(默认php.ini只允许小文件大小)

3) 你得到的确切错误信息是什么?

4)你能听听ProgressEvent吗,也许你的上传速度很慢......而且你使用了一个大文件。

5) 监听 IOErrorEven.IO_ERROR 和 SecurityErrorEvent.SECURITY_ERROR

于 2013-02-15T08:27:43.827 回答