【发布时间】:2015-07-09 20:58:36
【问题描述】:
我正在研究一种将文件从 Web 应用程序上传到 API 的策略。 API 需要随文件一起发送的文件的 MD5 哈希。我相信这里的意图是他们将在他们身边生成一个 MD5 并比较两者,看看文件内容是否在没有任何丢失数据或更改的情况下发送到服务器。
我可以使用文件阅读器 API 生成 MD5 来读取 AsText 或 readAsBinaryData,然后通过 MD5 算法运行内容。
我的问题是其中许多是大小从 10mb 到 500mb 不等的专用映像文件。尝试将它们读取为二进制或文本需要几分钟,有时还会导致浏览器崩溃。
就读取而言,使用 readAsArrayBuffer 似乎性能更高,但我找不到生成 MD5 的策略,它不像使用 readAsText 那样占用资源。
那么,有没有一种从 Array Buffer 生成 MD5 的轻量级策略?也许真正的问题是,是否有更好的方法来验证文件是否已从客户端传输到服务器而不会中断?我无法控制 API,但可以提出更改建议。
【问题讨论】:
标签: javascript md5 filereader arraybuffer