2010-11-15 94 views
10

我正在构建一个网页,我需要一个多文件上传实现,可以在将文件上传到服务器之前对其进行散列处理。上传之前使用md5检查多文件上传

这个想法是,用户可以上传已经存在或不存在于服务器上的文件。为了节省带宽,我希望在将文件上传到服务器之前对其进行散列处理,通过POST发送散列,并且只有在服务器响应它没有带有散列的文件时才继续上传。

是否有任何免费的基于Flash的实现(我认为JavaScript将无法加载该文件并对其进行哈希)可能适合我?

+1

有趣的请求,但我看不到任何方向。以下是swfupload中的相关功能请求:http://code.google.com/p/swfupload/issues/detail?id=287您可以考虑自行打开功能请求,或者将其自己添加到SWFUpload或类似的实现中你会说Flash。让Flash传递MD5值到Javascript回调(我认为已经有一个'onselect'回调函数)并且通过Ajax请求来完成剩下的工作应该相对容易 – 2010-11-15 20:34:50

+0

可能会有所帮助:http:// stackoverflow。 COM /问题/ 768268 /如何对计算-MD5哈希对的一文件 - 使用JavaScript的 – 2010-11-24 06:10:29

回答

3

您可以阅读Javascript中的文件,HTML5中的FileReader API将为您完成这项工作。

接下来,喂以base64字符串到这个库提供b64_md5()功能: http://pajhome.org.uk/crypt/md5/instructions.html

注意,这可能是时间,如果文件过大消耗。您可能还需要WebWorkers来完成协调背景。

相关问题