2011-12-21 15 views
12

Desidero cancellare il percorso del file dal caricamento del file. Il caricamento del file è all'interno del pannello di aggiornamento e sto utilizzando uno AsyncFileUpload. Come faccio a cancellare il file e cambiare il colore di sfondo del FileUploadCome cancellare il testo di caricamento del file sul lato server (C#)

btnAudUpload_Click Metodo

string filename =FileUpload.FileName; 
string Fullpath = Path.Combine(@"D:\Media", filename); 
if (FileUpload.HasFile) 
    { 
if (filename.ToLower().EndsWith("mp4")) 
    { 
     //Saving the file 
    } 
    else 
    { 
      //I want to clear the FileUpload content here 
    }  
    } 

risposta

3

Se si desidera avere l'interattività senza relouding pagina dovrete utilizzare JavaScript. Ecco perché controllerei l'estensione del file sul lato client invece che sul lato server. Esempio:

function checkFile() { 
    var input = document.getElementById('fileUpload').value.toLowerCase(); 
    var extension = '.mp4'; 

    if (!input.indexOf(extension, input.length - extension.length) != -1) { 
     alert('Invalid file extension. Only .mp4 is allowed.'); 
     document.getElementById('fileUpload').value = ''; 
    } 
} 

L'unica cosa che dovrete aggiungere sta cambiando il colore di sfondo fileUpload che è molto facile da fare.

Buona fortuna!

+0

domanda: come cambiare il colore di sfondo, dove è la soluzione, hai postato il codice che non richiesto, smettere di posizionare usa meno risposte – Sun

6

So che questo thread ha quasi un anno, ma questo sembra essere un problema prevalente. La soluzione più semplice che ho trovato è quella di impostare il controllo del caricamento del file su una nuova istanza.

FileUpload1 = new FileUpload(); 
+1

Questo sicuramente fa il lavoro, anche se devo chiedermi ... Hai bisogno di correre a Dispose() sul controllo precedente per liberare le sue risorse? – MadHenchbot

+0

Solo un'ipotesi, ma direi di no. La raccolta dei rifiuti dovrebbe occuparsi della pulizia. –

12

Cancella gli attributi hanno lavorato per me ... ma che potranno rimuovere gli stili e altre cose

string filename =FileUpload.FileName; 
string Fullpath = Path.Combine(@"D:\Media", filename); 
if (FileUpload.HasFile) 
{ 
    if (filename.ToLower().EndsWith("mp4")) 
    { 
    //Saving the file 
    } 
    else 
    { 
    //I want to clear the FileUpload content here 
    FileUpload.Attributes.Clear(); 
    }  
} 
+1

Penso che questo sia un modo molto più pulito di farlo :)! – Muhammedh

+1

gc grazie .. davvero aiutato – themis

1

Credo che quando si fa postback la proprietà del file Contnet sarà rimosso per impostazione predefinita, perché un motivi di sicurezza !

Problemi correlati