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等也都是傅的这个

    楼主可以留个邮箱,我发一个示例给你
     
  • 相关阅读:
    Alpha 冲刺 (1/10)
    项目需求分析答辩总结
    项目UML设计(团队)
    第七次作业--项目需求分析(团队)
    第六次作业--结对编程第二次
    第四次作业--项目选题报告(团队)
    第二次结对作业
    第一次结对编程作业
    第7组 团队展示
    js学习笔记
  • 原文地址:https://www.cnblogs.com/yaowukonga/p/2877046.html
Copyright © 2011-2022 走看看