Der angegebene container nicht vorhanden

Geblieben bin mit diesem Fehler The specified container does not exist.

lassen Sie mich erklären,

CloudBlobClient blobStorage = GetBlobStorage("upload");
CloudBlockBlob blob = BlobPropertySetting(blobStorage, Guid.NewGuid().ToString().ToLower() + Path.GetExtension(file.FileName));
blob.UploadFromStream(file.InputStream);

public static CloudBlobClient GetBlobStorage(string cloudBlobContainserName)
    {
        CloudBlobClient blobStorage;
        try
        {
            var storageAccount = CloudStorageAccount.FromConfigurationSetting("StorageConnectionString");
            blobStorage = storageAccount.CreateCloudBlobClient();
            CloudBlobContainer container = blobStorage.GetContainerReference(cloudBlobContainserName); 
            container.CreateIfNotExist();
            var permissions = container.GetPermissions();
            permissions.PublicAccess = BlobContainerPublicAccessType.Container;
            container.SetPermissions(permissions);
        }
        catch (Exception ex)
        {
            Logger.LogError(Log4NetLogger.Category.Exception, "Error in : BlobHandler.GetBlobStorage :>> Exception message: " + ex.Message);
            throw;
        }
        return blobStorage;
    }
    public static CloudBlockBlob BlobPropertySetting(CloudBlobClient cloudBlobClientReferenceName, string blobContentName)
    {
        CloudBlockBlob blob = cloudBlobClientReferenceName.GetBlockBlobReference(blobContentName);


        return blob;
    }

und meine StorageConnectionString ist

      <Setting name="StorageConnectionString" value="DefaultEndpointsProtocol=https;AccountName=duw;AccountKey=bla bla" />

container 'upload' und der Speicher-Konto, 'duw' existieren.

Ausführung blob.UploadFromStream(file.InputStream); - Anweisung, die den Fehler verursacht.

stack trace :

bei Microsoft.WindowsAzure.StorageClient.Aufgaben.Aufgabe1.get_Result()
at Microsoft.WindowsAzure.StorageClient.Tasks.Task
1.ExecuteAndWait()
bei Microsoft.WindowsAzure.StorageClient.TaskImplHelper.ExecuteImpl(Func`1 impl)
bei Microsoft.WindowsAzure.StorageClient.CloudBlob.UploadFromStream(Stream source, BlobRequestOptions-Optionen)
bei Microsoft.WindowsAzure.StorageClient.CloudBlob.UploadFromStream(Stream source)
bei DAL.Handler.BlobHandler.CreateAd(HttpPostedFileBase-Datei, Anzeige Modell) in D:\DU Server\Stamm\Du Server\DAL\Handler\BlobHandler.cs:Zeile 151

innere Ausnahme:

{"The remote server returned an error: (404) Not Found."}

kann jeder Körper helfen, mich zu lösen.

  • erste, was zu tun ist, um zu überprüfen, ob der container wird ordnungsgemäß erstellt mithilfe von azure-Speicher Zuschauer.wie cloudstorageexplorer. zweitens, sehen Sie, wenn Sie erste Referenz der blob richtig in BlobPropertySetting Methode?
  • blobStorage.GetContainerReference("upload") gibt die folgende {Microsoft.WindowsAzure.StorageClient.CloudBlobContainer} Attributes: {Microsoft.WindowsAzure.StorageClient.BlobContainerAttributes} Metadaten: {System.Sammlungen.Spezialisierte.NameValueCollection} Name: "hochladen", Properties: {Microsoft.WindowsAzure.StorageClient.BlobContainerProperties} ServiceClient: {Microsoft.WindowsAzure.StorageClient.CloudBlobClient} Uri: {duw.blob.core.windows.net/upload}
  • Ich bin mir nicht sicher, ich verstehe die ersten 3 Linien.. sind Sie Klasse vars oder sind Sie mit denen aus einem anderen Verfahren wird hier nicht gezeigt?
  • Klasse vars.. alle Methoden, die ich verwendet, werden hier angezeigt..
Schreibe einen Kommentar