很早之前,我写过一篇基于PHP版本的SWFUpload上传组件的文章,最近老是收到不少朋友询问SWFUpload的问题,决定再整理一些最常见的问题整理出来。
一、点击hello弹不出选择文件对话框
这是由于你没有基于域协议访问引起的,你可以把它放到Webserver里试一试,比如nginx,Apache,tomcat等等。
二、上传文件提示Security Error #2049
这是很多朋友经常犯的错误,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>
如果允许所有的域提交就这样写:
<allow-access-from domain="*" />
三、如何过滤文件名
可以重写upload_start_handler方法,然后获取filename进行判断,通过的检测的可以继续执行上传,否则阻止上传。
vaf upload_start_handler = function(o){
if(check(o.name)){
// 继续
}else{
// 文件名有非法关键字
}
};
|
|