php swfupload中文乱码,解决SWFUpload上传文件组件使用时报告2049错误

使用SWFUpload上传文件组件开发时可能你会遇到选择文件后点击上传,然后系统报告2049错误的问题。因为其显示的错误很含糊,不清楚是什么地方报出的,但估计应该是在handlers.js文件中的uploadError函数中,因为这个函数会检查errorCode的值,当该函数检查执行default规则时就会弹出一个对话框。为了明确断定问题出在此处,我将部分alert函数部分改写成:

alert(“Override==>”+message);

这样在此执行时,就会发现其报出的错误内容前面会加是“Override==>#2049”,于是我确定问题就是这。在此修改此alert函数,使其输出errorCode的值,会发现errorCode值为-230,检查UPLOAD_ERROR的定义发现,-230表示的是SECURITY_ERROR,即上传违反安全约束。

从官网上查看,好像也有些人遇到这个问题,但他们提供的解决方案是在swfupload.swf文件所在目录下和服务器的根目录下放置一个crossdomain.xml文件,其内容如下:

我的实践告诉我仍然解决不了问题。我的解决办法如下:

在对SWFUpload进行实例化时要传参数,如果采用完整路径,其中必须保证upload_url和flash_url所使用的服务器描述一致。例如:

(假设服务名为TestServer,其IP为192.168.1.100)

upload_url:"http://TestServer/Test/SFileUpload",

flash_url:"http://192.168.1.100/Test/flash/swfupload.swf",

如果如上代码,则会报告2049错误。你必须将其改成:

upload_url:"http://192.168.1.100/Test/SFileUpload",

flash_url:"http://192.168.1.100/Test/flash/swfupload.swf",

upload_url:"http://TestServer/Test/SFileUpload",

flash_url:"http://TestServer/Test/flash/swfupload.swf",

要保证两个url对服务器的描述是一致的。另外最后在后面还要加上:

prevent_swf_caching : false,

preserve_relative_urls : false,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值