是否可以添加任何属性或标题以防止覆盖。
我正在使用Azure Storage JavaScript客户端库通过参考此链接将文件上传到Azure存储https://dmrelease.blob.core.windows.net/azurestoragejssample/samples/sample-blob.html
下面的代码是我向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
}
});
主要问题是当我再次上传相同文件时。它正在覆盖文件。是否可以添加任何属性或标题以防止覆盖。我希望重复的文件也能被存储而不被覆盖。
[请帮助我解决此问题。预先感谢。
我通过使用此链接https://dmrelease.blob.core.windows.net/azurestoragejssample/samples/sample-blob...。我正在使用Azure Storage JavaScript客户端库将文件上传到Azure存储。
是否可以添加任何属性或标题以防止覆盖。
绝对。您可以将EtagNonMatch
作为值指定*
访问条件。从文档link
:
如果Blob的ETag与指定的ETag不匹配。指定通配符(*)仅在以下情况下才执行操作:资源不存在,并且如果存在则使操作失败。
如果存在相同名称的Blob,则会导致Blob上传失败。可以在link
选项参数中指定访问条件。
您可以在accessConditions
中了解有关Blob存储中条件标头支持的更多信息。
我希望重复的文件也能被存储而不被覆盖
这是您需要自己处理的事情。如果由于blob已经存在而导致blob上传失败,则会返回https://docs.microsoft.com/en-us/rest/api/storageservices/specifying-conditional-headers-for-blob-service-operations错误。基于此错误,您需要为Blob命名一个新名称,然后重新上传。
是否可以添加任何属性或标题以防止覆盖。