首页 文章

如何在FineUploader Azure请求中包含Content-MD5标头?

提问于
浏览
3

我想使用Content-MD5标头为Azure提供正在上载的文件的客户端生成的MD5哈希值 . 我如何在FineUploader中完成此任务?

目标受众:Firefox,Chrome,Safari,Opera和IE10 .

this answer判断我认为它应该是可能的,但我们至少有一半的客户将在非常旧(慢)的计算机上运行 . 这样做客户端MD5哈希方法是否可行?

有点相关的问题:我还认为设置最大文件大小以减少MD5散列算法的压力可能是明智的 . 也许只是在Azure的"chunking"限制之下?从不同的角度来看:我可以禁用分块吗?

1 回答

  • 3

    Fine Uploader通过the getFile(id) API method提供对底层 FileBlob 对象的直接访问 . 一旦有权访问它,就可以使用 FileReader 读取文件/ blob字节并生成散列 . 为了使散列更容易,请考虑使用像SparkMD5这样的JS库 .

    计算此哈希值的最佳位置可能是onSubmit callback handler . 由于读取文件的过程是异步的,因此您必须在处理程序中返回一个承诺,Fine Uploader支持该承诺 . 计算完哈希后,解析promise并使用Fine Uploader's setParams API method将哈希设置为文件的参数 .

    我可以禁用分块吗?

    是的,您可以,但是如果文件上传失败,您将失去与分块相关的所有好处,以及恢复功能和有效重试 .

相关问题