web-dev-qa-db-ja.com

サーバー側でファイルアップロードテキストをクリアする方法(c#)

ファイルのアップロードからファイルパスをクリアしたい。ファイルのアップロードは更新パネル内にあり、AsyncFileUploadを使用しています。ファイルをクリアして、ファイルアップロードの背景色を変更するにはどうすればよいですか?

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

私のために働いた属性をクリアする...しかしそれはスタイルや他のものを削除します

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();
  }    
}
13

このスレッドはほぼ1年前のものですが、これは依然として一般的な問題のようです。私が見つけた最も簡単な修正は、ファイルアップロードコントロールをその新しいインスタンスに設定することです。

FileUpload1 = new FileUpload();
7
Justin Ross

ページをリラウドせずに対話性を持たせたい場合は、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の背景色を変更することだけです。これは非常に簡単です。

幸運を!

3

ポストバックを行うと、セキュリティ上の理由から、ファイルコンテンツプロパティはデフォルトで削除されると思います。

1
Prince Waleed