2010-06-21 4 views
8

È possibile rinominare il file quando si tenta di scaricarlo? Ad esempio, vorrei archiviare i file in cartelle usando i loro id, ma quando l'utente scarica il file mi piacerebbe restituire il nome file originale.C# rinominare dinamicamente il file al momento della richiesta di download

+1

Puoi dare un po 'di più dettaglio, in particolare, come vengono scaricati i file sul client? – CodingGorilla

+1

È necessario fornire un * lotto * ulteriori informazioni qui. Cosa sta scaricando il file e da cosa? Dove si inserisce il tuo codice? –

+0

Dovresti avere un negozio con il nome originale. – ChrisF

risposta

11

basta cambiare il nome del file qui

Response.AppendHeader("Content-Disposition","attachment; filename=LeftCorner.jpg"); 

ad esempio

string filename = "orignal file name.ext"; 
Response.AppendHeader("Content-Disposition","attachment; filename="+ filename +""); 

Downloading a File with a Save As Dialog in ASP.NET

+0

How è il download supponiamo di aver luogo? Non ti sto seguendo ... –

+0

controlla il link incollato nella risposta –

+0

funziona con tutti i tipi di file (.zip, rar, pdf, ecc.)? –

1

nombre = nombre del Archivo + estensione (ejemplo.txt)

public void DownloadFile(string ubicacion, string nombre) 
{ 
     Response.Clear(); 
     Response.ContentType = @"application\octet-stream"; 
     System.IO.FileInfo file = new System.IO.FileInfo(ubicacion); 
     Response.AddHeader("Content-Disposition", "attachment; filename=" + nombre); 
     Response.AddHeader("Content-Length", file.Length.ToString()); 
     Response.ContentType = "application/octet-stream"; 
     Response.WriteFile(file.FullName); 
     Response.Flush(); 
} 
+1

Aggiungi alcuni commenti che descrivono cosa fa il tuo codice; e per favore usa l'inglese. I migliori saluti. – YakovL