【问题标题】:How to include Content-MD5 header in FineUploader Azure request?如何在 FineUploader Azure 请求中包含 Content-MD5 标头?
【发布时间】:2015-04-29 09:29:50
【问题描述】:

我想使用 Content-MD5 标头为 Azure 提供客户端生成的正在上传文件的 MD5 哈希。我将如何在 FineUploader 中完成这项任务?

目标受众:Firefox、Chrome、Safari、Opera 和 IE10+。

根据this answer 判断,我认为这应该是可能的,但我们至少有一半的客户将在非常旧(慢)的计算机上运行。那么这种客户端MD5散列方法是否可行?

有点相关的问题: 我还认为设置最大文件大小以减少 MD5 哈希算法的压力可能是明智的。也许刚好低于 Azure 的“分块”限制?从另一个角度来看:我可以禁用分块吗?

【问题讨论】:

    标签: azure md5 fine-uploader


    【解决方案1】:

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

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

    我可以禁用分块吗?

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

    【讨论】:

    • 通常我们的客户会上传大量小文件 (
    • 那么我如何实际设置Content-MD5 标头与setParams?现在它在请求标头中显示为x-ms-meta-content-md5。
    • 目前只能将它们指定为与对象关联的参数。有关详细信息,请参阅github.com/FineUploader/fine-uploader/issues/1212。
    • 我注意到这个问题仍然引起了一些关注,这是我成功确定的方法的链接:stackoverflow.com/a/31651999/552379
    猜你喜欢
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 2013-10-27
    • 1970-01-01
    • 2020-01-19
    • 2016-11-07
    • 2018-10-12
    • 2014-12-02
    相关资源
    最近更新 更多