Zuerst, wenn Sie ein Azure-Webrollen und nicht Azure-Websites verwenden, sollten Sie diese Daten in einem Blob speichern. Zweitens, müssen diese Dateien gesichert werden, so dass nur authentifizierte Benutzer darauf zugreifen können (oder sogar Benutzer nur auf ihre eigenen Dateien zugreifen können?).
Angenommen, jeder kann jede Datei vom Server herunterladen. Wenn das der Fall ist, erstellen Sie ein Verzeichnis namens UserFiles unterhalb von Inhalt. Jetzt können Sie einfach auf diese Dateien verlinken wie folgt
Mein Dateititel
Wenn sie jedoch hinter einer Authentifizierungsmethode gesichert sind, wird es kompliziert. Sie möchten nicht, dass jeder diese Elemente herunterladen kann. Also, lassen Sie uns ein paar Schritte unternehmen, um sie zu schützen.
1. Erstellen Sie einen Ordner namens UserFiles im obersten Level Ihrer Lösung.
2. In Ihrer web.config, sorgen wir dafür, dass niemand darauf zugreifen kann
3. Erstellen Sie einen MVC-Controller, nennen wir ihn Dateien, den Sie tatsächlich verwenden werden, um die Dateien an den Benutzer zu liefern. Hier erstellen wir eine Aktion namens Download, die eine Datei-ID annimmt (vorausgesetzt, Sie speichern Dateiinformationen in der Datenbank)
public FileResult Download(int id){
//Logik durchführen, um zu prüfen, ob der Benutzer Zugriff auf diese Datei hat
//Wenn Zugriff, die Datei zurückgeben
//Ansonsten einen 404-Fehler zurückgeben
}
Jetzt wird Ihr Dateidownload-Link so aussehen
@Html.ActionLink("Mein Dateititel", "Download", "Dateien", new{id = Model.Id})
MVC und Ihr Code haben Zugriff auf den UserData-Ordner, während ein externer Webbenutzer dies nicht hat. Verwenden Sie den Controller/Aktion, um Ihren Inhalt zu schützen