客观的
我正在创建一个 Web 应用程序,并且一直在寻找 iframe 和表单支持以外的异步文件上传解决方案。
浏览器支持
我完全愿意排除除 IE9+ 之外的所有内容。IE往往是我最麻烦的浏览器。
目标
我有一张桌子,我希望能够点击一个链接,显示一个文件对话框,然后在选择后立即上传文件。没有页面刷新。
更具体地说,我试图弄清楚Trello是如何上传文件的。在查看了 javascript 之后,我发现他们将文件输入绑定到了一个 on change 监听器,但是之后我看不到他们在做什么。我的印象是他们使用 websockets 和 node.js 来传输数据,但是在做了一些研究之后,大多数人都说 websockets 不适合那个。Trello 阻止除 9 和 10 之外的所有 IE 版本,因此我研究了 HTML5 文件上传,认为这可能是一个解决方案。但是,经过一番研究,IE9 不支持 HTML5 File API。
问题
所以最后我正在寻找一些没有 iframe 和表单解决方案的上传文件的方法。有人可以列出我可以使用的可能方法吗?
边注
我将 Rails 用于后端,将 Ember.js 用于前端。