2011-12-21 4 views
12

ファイルアップロードからファイルパスをクリアしたいとします。ファイルのアップロードは更新パネル内にあり、私はAsyncFileUploadを使用しています。どのように私は、ファイルを消去し、サーバーサイドでファイルアップロードテキストを消去する方法(C#)

ファイルアップロードの背景色を変更することができますbtnAudUpload_Click方法

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 
    }  
    } 

答えて

3

ページをreloudingせずに対話を持っているしたい場合は、JavaScriptを使用する必要があります。だから私は、サーバー側の代わりにクライアント側のファイル拡張子をチェックするのです。例:

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 = ''; 
    } 
} 

あなたが追加する必要があります唯一の事は行うことは非常に簡単ですfileUpload背景色を変更しています。

幸運を祈る!

+0

質問:バックグラウンドの色を変更する方法、解決策はどこにありますか?必須ではないコードを投稿しました。回答は少なくて済みます。 – Sun

6

私はこのスレッドがほぼ一歳であることを知っていますが、これはまだ一般的な問題であるようです。私が見つけた最も簡単な修正は、ファイルアップロードコントロールを新しいインスタンスに設定することです。属性は、私のために働いていた...しかし、それはスタイルと他のもの

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

これは間違いなく実行します。リソースを解放するために前のコントロールにDispose()を実行しますか? – MadHenchbot

+0

ちょうど推測ですが、私はいいえと言います。ガベージコレクションはクリーンアップを処理する必要があります。 –

12

クリア!

+1

これははるかにクリーンな方法だと思う:)! – Muhammedh

+1

gcありがとう..本当に助けられた – themis

1

が削除されますが、ファイルcontnetプロパティをポストバック行うとき、私は考えるセキュリティ上の理由から、デフォルトでは削除されます

FileUpload1 = new FileUpload(); 
関連する問題