Meine Anwendung verfügt über eine Massen-Upload-Funktion, bei der ein Benutzer in einer Tabelle einen Dateipfad für beispielsweise Client1/Creative Files/File1.jpg bereitstellt, wodurch diese Dateien in der Cloud-Datei gespeichert werden Aktie. Der Massen-Upload-Prozess liest Dateien von dem Ort und, falls er gefunden wird, wird er dann in den Blob-Speicher kopieren und einen Eintrag in der Datenbank erzeugen. Anfangs hatte ich alles im Blobspeicher, also war das Lesen der Dateien ziemlich einfach.Dateien können nicht von Azure gelesen werden. Dateifreigabe
CloudBlobContainer container = this.GetCloudBlobContainer();
var blob = container.GetBlockBlobReference(filePath);
Da ich nicht auf ein Netzlaufwerk für das Blob-Speicher-Konto, habe ich ein neues Speicherkonto und erstellt eine Datei Service Karte konnte, so konnte ich auf den Anteil an Fenstern Karte für den Benutzer des Hochladen Dateien direkt von ihrer Maschine. Jetzt habe ich Probleme, Dateien von dieser Freigabe abzurufen, da immer angegeben wird, dass die Datei nicht existiert.
Wenn ich nach file.Exists() suche, kommt es mit "False" zurück, obwohl die Datei da draußen ist.
Der Dateipfad ist Client1/Creative Files/File1.jpg. Ich denke, wenn ich File1.jpg einfach auf die Freigabe ohne die Ordner hochlade, könnte das funktionieren, aber das Hinzufügen von Unterordnern erzeugt ein Problem. Wir müssen die Dateien organisieren und es könnte einige verschachtelte Ordner geben, die auf den Clients basieren und wie der Benutzer sie an ihrem Ende organisiert. Deshalb bitten wir sie, den Pfad in der Tabelle anzugeben. Was vermisse ich?
Wenn ich die Anwendung debuggen und überprüfen Sie die Datei StorageUri, ich sehe https://storageaccount.file.core.windows.net/sharename/Client%5CCreative%20Files%5CFile1.jpg
Beim Kopieren dieser URL im Browser, sehe ich nicht die Datei. Wie ich schon sagte, mit einem Blob-Container funktionierte derselbe Prozess nur mit der Datei, aber wenn ich die Dateien in eine Dateifreigabe verschoben habe, kann ich keine Datei zurückgeben.
Wie gewährleisten Sie, dass die Datei in der Freigabe vorhanden ist? Verwenden Sie eine Art von Tool, um die Existenz der Datei zu überprüfen? –
Ich habe die azure Dateifreigabe aus Windows zugeordnet und habe die Datei in derselben Struktur hochgeladen, wie in der Tabelle angegeben, z. B. Client1/Creative Files/File1.jpg. Ich kann das auch überprüfen, indem ich zum Azure-Portal gehe -> Speicherkonto -> Dateidienst -> Freigabe. Also, die Datei existiert aber nicht, wenn ich den obigen Code benutze. – bladerunner
Noch eine Sache ... In Ihrem Code übergeben Sie 'filePath' als' Client1/Creative Files/File1.jpg'. Richtig? –