2016-12-05 2 views
1

Ich habe ein Programm in asp.Net MVC. Mein Server ist Plesk.Wie speichere ich eine Datei basierend auf einem relativen oder virtuellen Pfad, wenn ich plesk verwende?

speichere ich meine Dateien mit dieser Methode:

public string SaveFile(HttpPostedFileBase file, string path) 
{ 
    string fileName = Guid.NewGuid() + file.FileName; 
    var filePath = Path.Combine(Server.MapPath("~/Images/"), fileName); 
    file.SaveAs(filePath); 
    return fileName; 
} 

und Speichern von Dateien ist in Testcomputer OK. Aber nach dem Hochladen auf dem Server bekomme ich diesen Fehler:

Could not find a part of the path 'C:\Inetpub\vhosts\hostname.com\mysitename.com\Images\myFile.jpg'

Was ist falsch mit meinem Code? Sollte ich bei der Verwendung von Plesk etwas anderes verwenden?

+0

Es kann nicht den Pfad auf Ihrem Server finden. Kopieren Sie den Pfad in der Fehlermeldung und fügen Sie ihn in die Adressleiste des Explorers auf Ihrem Server ein, um festzustellen, ob der Pfad korrekt ist. – Mahdi

+0

@Afsaneh Versuchen Sie, die Schreib-/Änderungsberechtigungen wie im Screenshot unten zu ändern. –

Antwort

0

OK, dann wahrscheinlich, weil Ihr IIS-Benutzer keine Schreibberechtigung zum Schreiben auf diesen Ordner hat. Fügen Sie die volle Berechtigung für den Ordner hinzu. Der Benutzer muss etwa so aussehen: Plesk IIS WP User.

Sie können einfach erlauben Schreib-/Änderungsberechtigung für die Zeichnung in Hosting-Einstellungen:

ASP .NET Plesk permissions file

Verwandte Themen