在上传多个文件之前进行MD5校验的多文件上传

10
我正在构建一个网页,需要一个多文件上传实现,可以在将文件上传到服务器之前对其进行哈希。
想法是用户可以上传已经存在或不存在于服务器上的文件。为了节省带宽,我想在将文件上传到服务器之前对其进行哈希,通过POST方式发送哈希值,只有在服务器响应没有此哈希值的文件时才继续上传。
是否有任何免费的基于Flash的实现(我认为JavaScript无法加载文件并对其进行哈希),适合我的需求?

1
有趣的请求,但我看不到任何方向。这里是swfupload中一个相关的功能请求:http://code.google.com/p/swfupload/issues/detail?id=287 如果您懂Flash,可以考虑自己打开一个功能请求,或将其添加到SWFUpload或类似实现中。通过Flash将MD5值传递给Javascript回调应该相对容易(我认为已经有一个onselect回调),然后通过Ajax请求完成其余部分。 - Pekka
可能会有帮助:https://dev59.com/y3RA5IYBdhLWcg3w9ivq - JP19
1个回答

3

在JavaScript中,您可以使用HTML5提供的FileReader API来读取文件。

接下来,将Base64字符串输入到该库提供的b64_md5()函数中:

http://pajhome.org.uk/crypt/md5/instructions.html

请注意,如果文件太大,这可能需要耗费时间。您可能还需要使用WebWorkers在后台执行计算。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接