【问题标题】:When Delete the blob in azure cloud The remote server returned an error: (404) Not Found删除天蓝色云中的blob时远程服务器返回错误:(404)未找到
【发布时间】:2015-03-04 07:32:41
【问题描述】:

远程服务器返回错误:(404) Not Found ..How to Solve this Problem...

    public object Delete(string name)
    {
        dynamic deleted = true;

        try
        {
            CloudBlobClient blobClient = SMBS.GetBlobContainer();
            CloudBlobContainer blobContainer = blobClient.GetContainerReference("container1");

            CloudBlockBlob blockBlob = blobContainer.GetBlockBlobReference(name);
            blockBlob.Delete();
        }
        catch (Exception ex)
        {
            deleted = false;
        }

        return deleted;
    }

【问题讨论】:

  • 你对bool 的厌恶很有趣。为什么不用它?
  • 我听不懂你在说什么?
  • 你为什么要返回object并使用dynamic,在这两种情况下你都可以使用bool
  • 您使用的name 的值是多少?您确定这是 blob 名称而不是 blob 的绝对 url?
  • 它是一个 blob 名称。值是 ("example.jpg ") just nw only try

标签: c# azure cloud azure-storage


【解决方案1】:

该 blob 可能实际上已丢失,或者您的请求可能未经过身份验证。请查看凭据是否正确。此外,Azure 存储客户端库中已经有一个 ICloudBlob.DeleteIfExists 方法,您可以使用它来代替您的 Delete 方法。

【讨论】:

  • 它的工作...感谢回答我
  • 你是怎么解决这个问题的?我有同样的问题。使用相同的凭据上传工作正常,删除给我 404。
  • 我也在用 DeleteIfExists() 观察 404。我怀疑 Azure 设计团队有意这种行为,如果对象在任何情况下都不存在,则返回 404 状态;不过,如果它在不抛出异常的情况下默默地执行它会很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2010-12-20
  • 1970-01-01
  • 2017-09-26
  • 1970-01-01
相关资源
最近更新 更多