ファイルのアップロードからファイルパスをクリアしたい。ファイルのアップロードは更新パネル内にあり、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
}
}
私のために働いた属性をクリアする...しかしそれはスタイルや他のものを削除します
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年前のものですが、これは依然として一般的な問題のようです。私が見つけた最も簡単な修正は、ファイルアップロードコントロールをその新しいインスタンスに設定することです。
FileUpload1 = new FileUpload();
ページをリラウドせずに対話性を持たせたい場合は、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
の背景色を変更することだけです。これは非常に簡単です。
幸運を!
ポストバックを行うと、セキュリティ上の理由から、ファイルコンテンツプロパティはデフォルトで削除されると思います。