2013-02-25 8 views
8

Ist es möglich, temporäre Dateien und Bilder in asp.net-Anwendungen mit etwas wie diesem zu erstellen:Temp Dateien Asp.net

Wenn nein, wie kann ich es tun? (ImagePB ist ein zuvor Bitmap behandelt)

if (System.IO.File.Exists(System.IO.Path.GetTempPath() + @"img" + imgID.ToString() + "PB" + extencao) == true) 
{ 
    try 
    { 
     System.IO.File.Delete(System.IO.Path.GetTempPath() + @"img" + imgID.ToString() + "PB" + extencao); 
     imagePB.Save(System.IO.Path.GetTempPath() + @"img" + imgID.ToString() + "PB" + extencao, imgFormat); 
    } 
    catch (Exception) 
    { } 
} 
+0

In Anbetracht der Tatsache, dass dies eine .net-Site ist, benötigt der Benutzer, unter dem die Anwendung ausgeführt wird, Lese-/Schreibzugriff auf das temporäre Verzeichnis. Wenn Sie Hilfe benötigen, um das einzurichten, gehen Sie zu serverfault.com – NotMe

Antwort

8

Ja, GetTempPath() sollte einen temporären Dateipfad zurückkehren, und der Code, der Sie soll Arbeit postiert haben. http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspx hat mehr Informationen darüber, wie GetTempPath() bekommen den Weg.

Es wird jedoch nicht überprüft, ob das Temp Path-Verzeichnis vorhanden ist oder von der Anwendung geschrieben werden kann. Ich bin nicht in eine Situation geraten, in der GetTempPath() einen unzugänglichen Pfad zurückgibt. Wahrscheinlich möchten Sie dies in Ihrer Anwendung berücksichtigen, um mit dieser Situation umzugehen.

Achte auch darauf, das ist sehr wahrscheinlich C:\Windows\Temp. Es könnte begrenzten Speicherplatz haben oder jederzeit von jemand anderem gelöscht werden, wenn Speicherplatz benötigt wird. Sie möchten möglicherweise einen temporären Pfad in Ihrer Anwendung erstellen und ihn löschen, wenn Sie ihn nicht mehr benötigen.

+0

Und was ist mit den Sicherheitsproblemen? – user2013107

+0

Welche Art von Sicherheitsproblemen? Machst du dir Sorgen, dass jemand die Dateien nicht sehen kann? Die Möglichkeit, dass Sie nicht in den Ordner 'GetTempPath()' schreiben können, kommt zurück? –

+1

ASP.net-Anwendungen können standardmäßig nicht in diesen Ordner schreiben. – Christian