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>