这是Gmail客户端详细架构系列的第二篇,第一篇请看:Gmail客户端详细架构之一
这一篇文章中我们将看看gmail是如何在emal中上传文件的,
Gmail客户端详细架构之二:象Gmail一样上传文件网页设计
。到处都是AJAX,AJAX能够带来良好的用户体验,尤其能预先完成用户准备执行的动作。Gmail上传文件提供给我们很多证据,证明使用AJAX和iframes是web 2.0应用不可避免的。Gmail是最先进的web应用之一,让古老的在线email服务焕发的新生。
上面是Gmail的创建新邮件界面。
当你选择好了你的email需要附带的文件,然后开始写email正文,当你的email还没有完成,gmail的文件上传已经结束了,这是怎样实现的呢?
首先这不是使用你常用的multipart/form-data AJAX模式,Gmail使用了iframe来上传附件,它通过代码:style=”display:none” 隐藏了这个iframe
Js代码