2013-02-25 13 views
8

È possibile creare file temporanei e immagini in applicazioni asp.net utilizzando qualcosa del genere:Temp Files Asp.net

Se no, come posso farlo? (ImagePB è una bitmap trattato in precedenza)

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

Considerando che questo è un sito .net, l'utente a cui si sta eseguendo l'applicazione avrà bisogno dell'accesso in lettura/scrittura alla directory temporanea. Se hai bisogno di aiuto per configurarlo, vai su serverfault.com – NotMe

risposta

8

Sì, GetTempPath() dovrebbe restituire un percorso file temporaneo, e il codice che hai postato dovrebbe lavoro. http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspx ha ulteriori informazioni su come ottenere il percorso da GetTempPath().

Tuttavia, non verifica se la directory Temp Path esiste o è scrivibile dall'applicazione. Non ho incontrato una situazione in cui GetTempPath() restituisce un percorso inaccessibile. Probabilmente vorrai tenere conto di questo nella tua applicazione per gestire questa situazione.

Attenzione, questo è molto probabilmente C:\Windows\Temp. Potrebbe avere spazio su disco limitato, o cancellato in qualsiasi momento da qualcun altro quando è necessario spazio su disco. Potresti voler creare un percorso temporaneo all'interno della tua applicazione ed eliminarlo quando non ne hai più bisogno.

+0

E i problemi di sicurezza? – user2013107

+0

Che tipo di problemi di sicurezza? Sei preoccupato che qualcuno non autorizzato veda i file? La possibilità che non si possa scrivere nella cartella 'GetTempPath()' restituisce? –

+1

Le applicazioni ASP.net non possono scrivere in quella cartella per impostazione predefinita. – Christian