Download-Datei von Azure Blob-Speicher
Ich habe eine Anwendung, die ermöglicht Benutzern das hochladen von Fotos, die gespeichert werden in der Azure-Blob-Speicher. Der Benutzer hat auch die Möglichkeit, diese Fotos. Um Sie anzusehen, wollen wir die Anwendung herunterladen, um das Bild, um die Standard-download-Lage. In dem moment, der upload funktioniert perfekt. Aber die download-Funktion, die ich fand, für die Azure-API scheint nicht zu sein, etwas zu tun. Auch kann ich nicht wirklich geben Sie eine download-Adresse, da diese Funktionalität muss die Arbeit auf desktop/laptops als auch auf mobilen Geräten, die verschiedene Standard-Verzeichnisse.
Dieser scheint, wie es sollte einfach sein, aber ich kann nicht finden, alles, um mir zu helfen.
Hier ist ein Beispiel von meinem code:
CloudBlobContainer container = blobClient.GetContainerReference("photos");
CloudBlob blob = container.GetBlobReference(photo.BlobUrl);
//copy blob from cloud to local gallery
blob.DownloadToFile(photo.ImageName);
Den blob.DownloadToFile(photo.ImageName);
bewirkt, dass eine server-Anfrage, aber es passiert nichts, auch keine Datei heruntergeladen.
InformationsquelleAutor c.dunlap | 2012-10-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Irgendeinem Grund können Sie nicht über die client laden Sie die Datei direkt aus dem blob-Speicher und verwenden der built-in-browser-Fähigkeiten, um es zu speichern? Wenn die Dateien privat sind, ist es ziemlich einfach zu erzeugen, ein SAS-Signatur. Das abnehmen der download kommt über den server und entfernen Sie den overhead.
stellen Sie den Behälter öffentlichkeit (im azure-portal), und dann kann der client nur Verweis auf die azure-Speicher-uri des blob-und download über http/s.
InformationsquelleAutor dunnry
Hier:
Müssen Sie mitteilen, wo die Datei gespeichert und der name, den Sie möchten, es zu sein:
Könnten Sie System.Umwelt.SpecialFolder Enumeration zu Abbildung heraus die Ordner auf der Grundlage der aktuellen system dann fügen Sie, was Sie wollen, den Namen des Bildes zu sein;
Hier ist ein vollständigeres Beispiel:
Dies würde speichern Sie das Bild auf den richtigen Pfad wo das Desktopverzeichnis des Benutzers ist. Hier ist die Dokumentation auf, dass enum für spezielle Ordner.
http://msdn.microsoft.com/en-us/library/system.environment.specialfolder.aspx
Dann würden Sie voran, den Weg vor Ihrem Bild, Namen wie: string userPath = "Was immer Sie abgeholt"; es wäre Also var imgPath = userpfad + Foto.ImgName; möchten Sie vielleicht, um zu überprüfen, dass das Verzeichnis existiert, als auch, bevor Sie versuchen, speichern Sie es.
InformationsquelleAutor ElvisLives
Frage ich mich, was erwartest du von diesem code, aber vor allem im Fall der anderen Plattform würde es nicht funktionieren. Ich schlage vor, dass Sie die DownloadToStream - Methode statt. Dann können Sie entscheiden, was zu tun mit dem Strom. Zum Beispiel bitten Sie den Benutzer, wo er die Datei speichern möchten.
Korrigiert - vor allem für @Eric!
Naja, Sie können es auch verwenden, DownloadToStreamAsync wenn Sie schnell vorwärts bis 2018... Die Antwort wurde veröffentlicht in 2012, @MdAslam
InformationsquelleAutor astaykov