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

时间:2015-04-29 09:29:50

标签: azure md5 fine-uploader

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

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

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

有些相关的问题:我还认为设置最大文件大小以减少MD5哈希算法的压力可能是明智之举。也许只是在Azure" chunking"限制?从另一个角度来看:我可以禁用分块吗?

1 个答案:

答案 0 :(得分:3)

Fine Uploader可通过the getFile(id) API method直接访问基础int Hi = ArrMarks[0]; for(int i = 0; i < 5; i++) { if(ArrMarks[i] > Hi) { Hi = ArrMarks[i]; } } txaDisplay.append("Names:"+"\t\t"+"Marks"); for (int i = 0; i < 5; i++) { txaDisplay.append(ArrNames[i]+"\t\t"+ArrMarks[i]+"\n"); } File对象。一旦有权访问它,就可以使用Blob来读取文件/ blob字节并生成哈希。要使散列更容易,请考虑使用像SparkMD5这样的JS库。

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

  

我可以禁用分块吗?

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