Die Datei kann nicht auf Webserver speichern: System.UnauthorizedAccessException
Frage
Ich kann eine Datei auf meinem Webserver mit FileUpload.SaveAs () oder mit File.WriteAllText () speichern. Der Ordner speichere ich in ist CHMOD 666.
Mein Code ist dies:
File.WriteAllText (MapPath () + "\\ Anzeigen \\ test.jpg", "test" "");
Dieser Code funktioniert perfekt in Dev. Server.
Mit freundlichen Grüßen, Lasse Espeholt
System.UnauthorizedAccessException: Zugriff auf den Pfad *‘verweigert. bei System.IO .__ Error.WinIOError (Int32 errorcode, String maybeFullPath) bei System.IO.FileStream.Init (String Pfad, Filemode-Modus, Fileaccess Zugriff, Int32 Rechte, Boolean useRights, Fileshare Aktie, Int32 buffer, Fileoptions Optionen, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) bei System.IO.FileStream..ctor (String Pfad, Filemode-Modus, Fileaccess-Zugang, Fileshare Aktie, Int32 buffer, Fileoptions Optionen, String msgPath, Boolean bFromProxy) bei System.IO.FileStream..ctor (String Pfad, Filemode-Betrieb) bei System.Web.HttpPostedFile.SaveAs (String Dateiname) bei System.Web.UI.WebControls.FileUpload.SaveAs (String Dateiname) bei * (Object sender, ListViewInsertEventArgs e)
Lösung
Sie müssen Maschine ASPNET-Konto für den gewünschten Ordner lesen Schreibberechtigungen geben. Sie können es tun, indem Ordner-Eigenschaften zu öffnen. -> Registerkarte Sicherheit
Andere Tipps
Ihre Fehlermeldung besagt:
System.UnauthorizedAccessException: Access to the path *' is denied.
Das sieht ein wenig seltsam. Haben Sie den Pfad bearbeitet oder ist, dass genau, wie es angezeigt wird? Wenn dies dann etwas schief läuft mit Ihrem Anruf MapPath
.
Ich weiß, dass die folgenden offensichtlich erscheinen mag, aber ich habe von Annahmen zu oft in der Vergangenheit gebissen worden.
Haben Sie sich vergewissert, dass der Ordner, den Sie denken, dass Sie das Schreiben auf die eine, die tatsächlich MapPath(".") + "\\Ads\\test.jpg"
löst zu?
Haben Sie volle Rechte an den „Anzeigen“ Sub-Ordner als auch haben?