前言:新的项目,须要将图片跨域上传到专门的图片服务器上面,并且还要支持ie8/9的跨域上传。html
解决:为了解决这个方案踩了不少坑,特此记录。之前收集了一些上传的组件 文件(图片)上传组件 ,各有优劣。git
1:由于google在未来的版本不在支持flash了,因此不想使用swf支撑的组件上传github
2:尝试了AjaxFileUpload 组件,这个在google跨域直接挂掉了。web
3:尝试百度的上传组件,Web Uploader 这个挺不错,支持跨域,可是ie8/9跨域支持不大好,只好放弃了(也有多是我没有配置好)ajax
4:重点来了,尝试了jq的组件jQuery-File-Upload,号称ie8+,支持跨域。可是,ie10+、chrome、ff跨域都行,ie八、9下跨域始终不支持,上传图片后图片服务器已经返回了图片的相关参数,ie8/9的ajax请求已有响应,可是就是取不到值,跨域下,模拟form表单提交ie8/9不能跨域!!!chrome
5:最后,不得不重新使用了swf的组件Uploadify ,最新的版本是Version 3.2.1,可是跨域后,必须在远程文件服务器上中,添加crossdomain.xml文件,此文件置于服务器的ROOT目录底下。在浏览器中若是能访问到此XML文件,说明XML配置成功。这个adobe的一个协议,由于uploadify是利用adobe的swf上传的,这个协议能够解决跨域的安全问题,这样就能经过uploadify插件实现上传了,具体能够根据实际状况配置这个跨域xml文件。跨域
6:最终,用Uploadify的flash实现了ie8/9的跨域上传,若是有其余更好的方法,请共享。浏览器