我想使用Content-MD5标头为Azure提供要上传文件的客户端生成的MD5哈希。我将如何在FineUploader中完成此任务?
目标受众:Firefox,Chrome,Safari,Opera和IE10 +。
从这个答案来看,我认为应该有可能,但是我们至少有一半的客户将在非常老(慢)的计算机上运行。那么,采用这种客户端MD5哈希方法是否可行?
有点相关的副问题:我还认为设置最大文件大小以减少对MD5哈希算法的压力可能是明智的。也许刚好低于Azure的“分块”限制?从另一个角度来看:我可以禁用分块吗?
细上传器提供直接访问底层File
或Blob
通过对象的getFile(id)
API方法。一旦可以访问它,就可以利用它FileReader
来读取文件/ blob字节并生成哈希。为了使哈希处理更加容易,请考虑使用JS库,例如SparkMD5。
计算此哈希值的最佳位置可能是在onSubmit
回调处理程序中。由于读取文件的过程是异步的,因此您将必须在处理程序中返回诺言,这由Fine Uploader支持。计算完哈希之后,请使用Fine Uploader的setParams API方法解析承诺并将哈希设置为文件的参数。
我可以禁用分块吗?
是的,可以,但是如果文件中途失败,您将失去与分块相关的所有好处,以及恢复功能和有效的重试功能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句