zoukankan      html  css  js  c++  java
  • 关于163邮箱,上传附件,本地验证文件大小的问题。

    转载:http://www.cnblogs.com/yaowukonga/admin/EditPosts.aspx?opt=1

    以前做过一回上传文件,带进度条的功能。大致的实现细节就是。后台有一个监听器,监听上传流的读取进度,隔断时间放在session中一次,前台就在session中读这个信息,隔段时间更新进度条。大体可以实现功能,但当时有一点,就是本地验证上传文件大小这个功能,使我很纠结。主要原因就是js无法获取文本文件大小,客户端无法获取,那就去服务端获取吧,但服务端获取后再回传前台判断,实在太慢。。所以就这样放下了。今天用163的邮箱,正好看到了它的上传功能,点一下。上传了一个超过50M的文件,很顺利的作出了判断。并且用firbug查看,这个过程并没有请求。那就是通过前台获取的了,通过js吗?我知道前台获取可以通过flash搞到,但看了下它的代码,并没有用flash,真不知道它是如何获取的,各位大牛,了解情况的,不吝赐教。谢谢!


    问题补充:
    flootball 写道
    从客户端也是可以取到文件大小的,但涉及安全方面的问题,
    一般都不用,用Ajax请求获取的文件的大小即可,
    Ajax每隔一秒或是几秒重新请求获取当前进度。

    谢谢你的回答,我曾用过在服务端获取文件大小的方式,感觉用户体验很差。再一个我特意的查看了下163,验证文件大小的过程,并没有发送远程请求的。

    问题补充:
    hu437 写道
    邮箱的邮件验证大小一般都是在本地完成的,是通过flash

    可以使用http://swfupload.org/ 这个组件,

    这个组件可以实现带进度条的上传,判断文件大小等。现在的很多邮箱QQ\GMAIL等也都是傅的这个

    楼主可以留个邮箱,我发一个示例给你

    谢谢您的回复啊,你说的那个控件我是知道的。我们目前的项目就是采用的这个东西,我主要是想自己封装一个更灵活的上传组件,我的疑惑主要是在163邮箱的上传功能这,他的邮箱验证上传文件大小是从本地验证的,但并不是flash...所以有点小疑惑,希望您能解答我这个疑惑
     
     
    我刚比较了一下,下面是我对163附件上传的看法

    使用IE系的浏览器时是可以看到傅的是flash组件上传的,当使用firefox和chrome时不是傅的flash组件


    猜测这个是对浏览器判断,当是IE时傅flash,不是IE时使用的可能是HTML5的特性,html5可以检测文件大小
     
     
    邮箱的邮件验证大小一般都是在本地完成的,是通过flash

    可以使用http://swfupload.org/ 这个组件,

    这个组件可以实现带进度条的上传,判断文件大小等。现在的很多邮箱QQ\GMAIL等也都是傅的这个

    楼主可以留个邮箱,我发一个示例给你
     
  • 相关阅读:
    GTK+ 3.6.2 发布,小的 bug 修复版本
    RunJS 新增 Echo Ajax 测试功能
    Mozilla 发布 Popcorn Maker,在线创作视频
    Sina微博OAuth2框架解密
    Mina状态机State Machine
    Mozilla 发布 Shumway —— 纯JS的SWF解析器
    Code Browser 4.5 发布,代码浏览器
    ROSA 2012 "Enterprise Linux Server" 发布
    ltrace 0.7.0 发布,程序调试工具
    Artifactory 2.6.5 发布,Maven 扩展工具
  • 原文地址:https://www.cnblogs.com/yaowukonga/p/2877046.html
Copyright © 2011-2022 走看看