SWFUpload上传提示Security Error 2049

很早之前,我写过一篇基于PHP版本的SWFUpload上传组件的文章,最近老是收到不少朋友询问SWFUpload的问题,决定再整理一些最常见的问题整理出来。

点击hello弹不出选择文件对话框

这是由于你没有基于HTTP协议访问引起的,你可以把它放到WebServer里试一试,比如Nginx,Apache,Tomcat等等,然后使用http访问页面

上传文件提示Security Error 2049

full

这是很多朋友经常犯的错误,JavaScript有跨域问题,Flash做为前端组件自然也存在跨域问题,解决此问题的方法是在upload域下创建如下文件:

crossdomain.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="这里写上你的域名" />
</cross-domain-policy>

如果允许所有的域提交就这样写

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

如何过滤文件名

可以重写upload_start_handler方法,然后获取filename进行判断,通过的检测的可以继续执行上传,否则阻止上传

vaf upload_start_handler = function (o) {
  if (check(o.name)) {
    // 继续
  } else {
    // 文件名有非法关键字
  }
};
分享

TITLE: SWFUpload上传提示Security Error 2049

LINK: https://www.qttc.net/422-swfupload-security-error-2049.html

NOTE: 原创内容,转载请注明出自琼台博客