如何在asp.net中向fileupload控件添加过滤器?我想要一个Oasis File(.000)的过滤器。?
请建议我...非常感谢你!
答案 0 :(得分:5)
您可以使用RegularExpressionValidator
<asp:RegularExpressionValidator ID="rexp" runat="server" ControlToValidate="fupProduct"
ErrorMessage="Only .gif, .jpg, .png, .tiff and .jpeg"
ValidationExpression="(.*\.([Gg][Ii][Ff])|.*\.([Jj][Pp][Gg])|.*\.([Bb][Mm][Pp])|.*\.([pP][nN][gG])|.*\.([tT][iI][iI][fF])$)"></asp:RegularExpressionValidator>
答案 1 :(得分:4)
控件上没有属性。我认为最简单的方法是通过javascript验证所选文件。例如
JS功能:
function checkFileExtension(elem) {
var filePath = elem.value;
if(filePath.indexOf('.') == -1)
return false;
var validExtensions = new Array();
var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase();
validExtensions[0] = 'jpg';
validExtensions[1] = 'jpeg';
validExtensions[2] = 'bmp';
validExtensions[3] = 'png';
validExtensions[4] = 'gif';
validExtensions[5] = 'tif';
validExtensions[6] = 'tiff';
validExtensions[7] = 'txt';
validExtensions[8] = 'doc';
validExtensions[9] = 'xls';
validExtensions[10] = 'pdf';
for(var i = 0; i < validExtensions.length; i++) {
if(ext == validExtensions[i])
return true;
}
alert('The file extension ' + ext.toUpperCase() + ' is not allowed!');
return false;
}
在page_load中连接它:
FileUpload1.Attributes.Add("onchange", "return checkFileExtension(this);")
注意:此代码从此处逐字复制:http://forums.asp.net/t/1156963.aspx/1?How+to+filter+files+in+file+upload+HTML+control。我没有写它,我没有测试过它!
答案 2 :(得分:2)
您可以使用javascript在服务器端过滤它..
试试这个here