2016-04-07 14 views
2

Ich habe einige Dateien über meine MVC-App in die Cloud-Dateifreigabe hochgeladen. Alles gut bis jetzt.Zugriff auf die in Azure File Storage gespeicherten Dateien

Jetzt möchte ich Link anzeigen, Bildquelle aus der Dateifreigabe festlegen, aber nicht auf die Dateien vom Webbrowser zugreifen. Für zB, wenn ich ein Bild mit Bildquelle zeige auf

https://mystorageaccount.file.core.windows.net/content/images/14_large_image.png

ich nichts und wenn ich versuche, diese Datei im Web-Browser zu durchsuchen, bekomme ich folgende Fehlermeldung:

This XML file does not appear to have any style information associated with it. The document tree is shown below. 
    <Error><Code>InvalidHeaderValue</Code><Message>The value for one of the HTTP headers is not in the correct format. 
    RequestId:8294dc3b-001a-00f5-1b96-9039c3000000 
    Time:2016-04-07T06:26:33.3731376Z</Message><HeaderName>x-ms-version</HeaderName><HeaderValue/></Error> 

I denke, dies könnte Anmeldeinformationen Problem sein, aber ich bin mir nicht sicher. Irgendwelche Hinweise bitte!

+0

Haben Sie den öffentlichen Zugriff auf Ihre Cloud-Datei festgelegt? (Ich verwende normalerweise BLOB-Speicher, und es ist einfach, den Dateispeicher mit Azure Storage Explorer zu steuern) –

+0

Client gab mir die Anmeldeinformationen für den Dateispeicher. Ich weiß nicht, ob es öffentlich war oder nicht, aber ich werde mit ihm sprechen. – user869375

Antwort

2

Der Zugriff auf den Azure-Dateispeicher erfolgt nur über SMB oder Rest. Es ist keine HTTP-Schnittstelle verfügbar.

Von Get started with Azure File storage on Windows

File storage offers shared storage for applications using the standard SMB 2.1 or SMB 3.0 protocol. Microsoft Azure virtual machines and cloud services can share file data across application components via mounted shares, and on-premises applications can access file data in a share via the File storage API.

Wenn Sie den anonymen HTTP-Zugriff benötigen dann würden Sie müssen stattdessen Blob Speicher verwenden, die eine {storagename} hat .blob.core.windows.net Adresse

Um zu Um auf die Dateien von HTTP (Rest) zuzugreifen, müssen Sie zunächst die Berechtigungsheader erstellen, die in der Dokumentation Get File dokumentiert sind. Die erforderlichen Authentifizierungsheader bei Authentication for the Azure Storage Services dokumentierten das Format, von denen

Authorization="[SharedKey|SharedKeyLite] {AccountName}:{Signature}"

Ich würde es möglich sein, erwartet eine SAS-Token für die Signatur zu verwenden, aber ich habe das gerade versucht, und ich konnte es nicht bekommen arbeiten.

+0

Aber warum erwähnt das? URL-Format: Dateien sind unter Verwendung des folgenden URL-Formats adressierbar: https: // .file.core.windows.net/// Die folgende Beispiel-URL könnte verwendet werden, um zu adressieren eine der Dateien im obigen Diagramm: http://samples.file.core.windows.net/logs/CustomLogs/Log1.txt – user869375

+0

Wo sagt es das? –

+0

Unter Dateispeicherkonzepte für den von Ihnen freigegebenen Link. – user869375