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>