rah*_*wla 5 c# cloud azure blobstorage azure-blob-storage
我有一种将文件添加到 Azure Blob 存储的方法,问题是我试图指定一个条件,在该条件下它不会覆盖 blob,而只是添加到其中。我正在尝试使用参数访问条件,但是 VS 说此方法不能采用两个参数 - async void archiveNewImportedImages(List imageFiles) {
// Saving the images
// Retrieve reference to a blob named "myblob".
// Create or overwrite the "myblob" blob with contents from a local file.
using (var fileStream = System.IO.File.OpenRead(@"C:\Users\rahulchawla\Desktop\FilezilleIMGS\FilezilleIMGS\MTO_Image\CR01-1-20170623-1327.jpg"))
{
await blockBlob.UploadFromStreamAsync(fileStream, accessCondition: AccessCondition.GenerateIfNoneMatchCondition("*"));
}
// save url of the image into a variable and later to the database
/// fileURL = blockBlob.Uri.ToString();
}
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
最终目标:不要覆盖容器 - 继续添加不同的文件,例如。img1.jpg、img2.jpg 转为 blob
其他详细信息:想要将图像附加到容器中(换句话说,继续将图像添加到容器中)。如果文件存在,则不想覆盖现有文件)
根据设计,如果你尝试上传具有相同 Blob 名称的新内容,Azure Blob 存储将覆盖 Blob 的内容。
如果您不想覆盖内容,您可以执行某些操作,但随后您必须为其编写代码。
blob.ExistsAsync您可以通过调用或使用当前正在执行的访问条件执行操作来检查 blob 是否存在。在第一种情况下,您将得到一个真/假值,并根据该值决定要做什么。在第二种情况下,上传操作将失败,PreConditionNotMet (412 Status Code)因此您需要捕获异常并决定要做什么。blob snapshotAzure Blob 存储中提供的功能。当您拍摄 Blob 的快照时,它会创建该 Blob 的只读副本。但请记住,在这种情况下,只会有一个 blob 和许多快照。每个快照均由拍摄快照的日期/时间唯一标识。您可以获取 Blob 及其快照以查看对该 Blob 所做的更改的历史记录。| 归档时间: |
|
| 查看次数: |
20350 次 |
| 最近记录: |