如何清除服务器端的文件上传文本(c#)

时间:2011-12-21 17:07:52

标签: c# asp.net file-upload ajaxcontroltoolkit asyncfileupload

我想从文件上传中清除文件路径。文件上传位于更新面板内,我使用AsyncFileUpload。如何清除文件并更改fileupload的背景颜色

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

4 个答案:

答案 0 :(得分:13)

清除属性对我有用......但这将删除样式和其他东西

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 :(得分:7)

我知道这个帖子已经差不多一年了,但这似乎仍然是一个普遍存在的问题。我发现最简单的修复方法是将文件上传控件设置为它的新实例。

FileUpload1 = new FileUpload();

答案 2 :(得分:3)

如果您希望在不重新显示页面的情况下进行交互,则必须使用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)

我认为当你做回发时,文件内容属性将默认删除,因为出于安全原因!