如何清除服务器端的文件上传文本(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 } } 

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

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

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

 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背景颜色,这很容易做到。

祝好运!

我认为当你做回发文件时,默认情况下会删除contnet属性,因为出于安全原因!