webuploader.js图片上传插件,关于flash跨域问题


webuploader.js图片上传插件

var uploader = WebUploader.create({
    // 选完文件后,是否自动上传。
    auto: true,
    // swf文件路径
    swf: 'js/Uploader.swf',
    // 文件接收服务端。
    server: 'http://jasmine.55ideal.com/pc/opus/upload ',
    // 选择文件的按钮。可选。
    // 内部根据当前运行是创建,可能是input元素,也可能是flash.
    pick: '#picker',
    method: 'POST',
    formData:{
       token:$.cookie("token")//与后台约定好的参数
    },
    // runtimeOrder:'html5,flash',
    // sendAsBinary:true,
    // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
    resize: false
});

在chrome下默认用的是HTML5模式上传图片,用起来没问题,但是用IE7/8/9打开,则总是提示图片上传失败。

原因如下:

IE7/8/9下采用的是flash模式上传图片,所以服务器除了需要设置HTML5模式下的ajax跨域外,还需要设置flash模式下的flash跨域,这样才能使用flash上传图片。

flash跨域需要在服务器根目录放一个XML文件,固定名称为:crossdomain.xml

第一种:
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="www.friendOfFoo.com" />
  <allow-access-from domain="*.foo.com" />
  <allow-access-from domain="105.216.1.41" />
</cross-domain-policy>

第二种:
<?xml version="1.0"?>
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM