0

我的情况是,我在 azure 存储中有 1000 个 blob,它们是带有 url 的图片,其中有空间,这是一个问题。因此,作为一项措施,我们要更新 blob uri 并删除每个有空格的空格。我知道如何获取 blob,或者会弄清楚但无法理解一旦我得到 blob 后如何更新 uri 这是我当前获取 blob 的代码。

        CloudBlobContainer container = GetContainerReference('containername');
        var blobs=container.ListBlobs().Select(p=>p.Uri.ToString().Contains(' '));
        foreach (CloudBlob item in blobs)
        {

        }
4

1 回答 1

3

Windows Azure BlobStorage API不提供允许您直接更改 blob 的 URI 的方法。但是,您仍然可以将 blob 复制到其 URI 中没有空格的新 blob,然后删除旧 blob。

CloudBlobContainer container = GetContainerReference('containername');
var blobs = container.ListBlobs().Select(p => p.Uri.ToString().Contains(' '));
foreach (CloudBlob oldBlob in blobs)
{
    var newBlobName = oldBlob.Name.Replace(" ", String.Empty);
    var newBlob = container.GetBlobReference(newBlobName);
    newBlob.CopyFromBlob(oldBlob);

    oldBlob.Delete();
}
于 2013-03-15T08:13:12.760 回答