这里需要注意的就是属性swf和uploader属性的地址,如果是同一个站点下没问题,如果是webservice单独站点,那么可能会报SecurtiyError#2049错误,从官网上查看,好像也有些人遇到这个问题,但他们提供的解决方案是在swfupload.swf文件所在目录下和服务器的根目录下放置一个crossdomain.xml文件,其内容如下:
<?xml version="1.0"?> < !DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> < cross-domain-policy> < allow-access-from domain="*" headers="*" secure="false"/> < /cross-domain-policy> |
我的实践告诉我仍然解决不了问题。我的解决办法如下:
在对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,
转自:http://blog.csdn.net/wang198689jian/article/details/8539048