将相同文件上传到Azure Blob存储而不会覆盖?

阿赫尔巴楚

我正在使用Azure Storage JavaScript客户端库通过引用此链接https://dmrelease.blob.core.windows.net/azurestoragejssample/samples/sample-blob.html将文件上传到Azure存储

下面的代码是我上传到Azure存储的代码片段(获取文件并将其存储在存储中)

var speedSummary = blobService.createBlockBlobFromBrowserFile('mycontainer', file.name, file, {blockSize : customBlockSize}, function(error, result, response) {
    finishedOrError = true;
    if (error) {
        // Upload blob failed
    } else {
        // Upload successfully
    }
});

主要问题是当我再次上传相同文件时。它正在覆盖文件。是否可以添加任何属性或标头以防止覆盖。我也希望重复文件也能被存储而不被覆盖

请帮助我解决此问题。提前致谢。

停止捐款

是否可以添加任何属性或标头以防止覆盖。

绝对。您可以将EtagNonMatch访问条件指定*为值。从文档中link

如果Blob的ETag与指定的ETag不匹配。指定通配符(*)仅在资源不存在时执行操作,而在资源不存在时使操作失败。

如果存在相同名称的Blob,这将导致Blob上传失败。可以在accessConditionsoptions参数中指定访问条件

您可以在此处了解有关Blob存储中条件标头支持的更多信息:https : //docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations

我也希望重复文件也能被存储而不被覆盖

这是您需要自己处理的事情。如果由于blob已经存在而导致blob上传失败,则会Pre Condition Failed (HTTP Status Code 412)返回一个错误。基于此错误,您需要为Blob命名一个新名称,然后重新上传。

更新

这是您可以使用的代码(未经测试):

var options = {
  blockSize : customBlockSize,
  accessConditions: {
    EtagNonMatch: '*'
  }
};
var speedSummary = blobService.createBlockBlobFromBrowserFile('mycontainer', file.name, file, options, function(error, result, response) {
    finishedOrError = true;
    if (error) {
        // Upload blob failed
    } else {
        // Upload successfully
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Azure块blob存储连续上传相同文件失败

来自分类Dev

将异步上传到Azure Blob存储永远不会返回

来自分类Dev

手动将文件上传到Azure Blob存储

来自分类Dev

将文件上传到Azure Blob存储中

来自分类Dev

将文件上传到Azure文件存储

来自分类Dev

快速将文件上传到Azure Blob

来自分类Dev

无法使用Azure功能节点将文件上传到Azure Blob存储

来自分类Dev

Azure:下载上传到Azure Blob存储的文件时大小为0,编码错误

来自分类Dev

带有Powershell脚本的Azure WebJob可将文件上传到Azure Blob存储

来自分类Dev

上传存储在Azure Blob存储中的文件

来自分类Dev

将文件从客户端上传到Azure Blob存储| MVC

来自分类Dev

如何使用Python SDK将大文件(〜100mb)上传到Azure blob存储?

来自分类Dev

如何使用Python将文件夹递归上传到Azure Blob存储

来自分类Dev

如何压缩文件以压缩并上传到Azure Blob存储?

来自分类Dev

创建并上传到Azure Blob存储中的特定文件夹

来自分类Dev

使用BlobContainerClient通过Blob存储将大量文件上传到Azure

来自分类Dev

在内存中创建文本文件,然后将其上传到Azure Blob存储

来自分类Dev

如何使用Python SDK将大文件(〜100mb)上传到Azure Blob存储?

来自分类Dev

Azure Powershell - 如何使用“只写”共享访问签名 (SAS) 将文件上传到 Blob 存储?

来自分类Dev

将文件从 angular 应用程序上传到 azure 函数,然后坚持到 blob 存储

来自分类Dev

通过Web API将文件上传到Azure文件存储

来自分类Dev

大文件上传到Azure文件存储失败

来自分类Dev

通过Web API将文件上传到Azure文件存储

来自分类Dev

将文件上传到 Azure 存储文件共享的脚本

来自分类Dev

Windows Azure-使用队列将文件上传到Blob

来自分类Dev

从 ASP.NET 上传到 Azure blob 的文件是空的

来自分类Dev

通过PHP获取刚刚上传到Azure存储的Blob的URL

来自分类Dev

从SAS URL上传到Azure Blob存储返回404状态

来自分类Dev

通过PHP获取刚刚上传到Azure存储的Blob的URL

Related 相关文章

  1. 1

    Azure块blob存储连续上传相同文件失败

  2. 2

    将异步上传到Azure Blob存储永远不会返回

  3. 3

    手动将文件上传到Azure Blob存储

  4. 4

    将文件上传到Azure Blob存储中

  5. 5

    将文件上传到Azure文件存储

  6. 6

    快速将文件上传到Azure Blob

  7. 7

    无法使用Azure功能节点将文件上传到Azure Blob存储

  8. 8

    Azure:下载上传到Azure Blob存储的文件时大小为0,编码错误

  9. 9

    带有Powershell脚本的Azure WebJob可将文件上传到Azure Blob存储

  10. 10

    上传存储在Azure Blob存储中的文件

  11. 11

    将文件从客户端上传到Azure Blob存储| MVC

  12. 12

    如何使用Python SDK将大文件(〜100mb)上传到Azure blob存储?

  13. 13

    如何使用Python将文件夹递归上传到Azure Blob存储

  14. 14

    如何压缩文件以压缩并上传到Azure Blob存储?

  15. 15

    创建并上传到Azure Blob存储中的特定文件夹

  16. 16

    使用BlobContainerClient通过Blob存储将大量文件上传到Azure

  17. 17

    在内存中创建文本文件,然后将其上传到Azure Blob存储

  18. 18

    如何使用Python SDK将大文件(〜100mb)上传到Azure Blob存储?

  19. 19

    Azure Powershell - 如何使用“只写”共享访问签名 (SAS) 将文件上传到 Blob 存储?

  20. 20

    将文件从 angular 应用程序上传到 azure 函数,然后坚持到 blob 存储

  21. 21

    通过Web API将文件上传到Azure文件存储

  22. 22

    大文件上传到Azure文件存储失败

  23. 23

    通过Web API将文件上传到Azure文件存储

  24. 24

    将文件上传到 Azure 存储文件共享的脚本

  25. 25

    Windows Azure-使用队列将文件上传到Blob

  26. 26

    从 ASP.NET 上传到 Azure blob 的文件是空的

  27. 27

    通过PHP获取刚刚上传到Azure存储的Blob的URL

  28. 28

    从SAS URL上传到Azure Blob存储返回404状态

  29. 29

    通过PHP获取刚刚上传到Azure存储的Blob的URL

热门标签

归档