首页 新闻 搜索 专区 学院

怎样在fileupload点击浏览后的弹出框中过滤文件类型(不是在后台代码中过滤!)

0
悬赏园豆:20 [已关闭问题] 关闭于 2010-12-29 16:54

在做asp.net web程序时,点击fileupload控件的浏览按钮后会弹出一个查找文件的对话框,
怎样控制这个对话框过滤文件的类型?

泪的诺言lni的主页 泪的诺言lni | 初学一级 | 园豆:105
提问于:2010-11-25 10:19
< >
分享
所有回答(5)
0

可以用js在onchange里面过滤吧···

写代码的小2B | 园豆:4355 (老鸟四级) | 2010-11-25 10:40
0
OpenFileDialog ofd = new OpenFileDialog();
//过滤文件类型
ofd.Filter = "文本文件(*.txt)|*.txt|日志文件(*.log)|*.log";
//显示名称
ofd.Title = "选择待分析日志文件";
ofd.InitialDirectory
= Application.StartupPath;
//设置为可多选文件
ofd.Multiselect=true;
//设置打开对话框的默认位置
ofd.InitialDirectory = @"C:\Documents and Settings\Administrator\Application Data\SE_logs";
Tester Chen | 园豆:1690 (小虾三级) | 2010-11-25 10:48
是在web开发中了,用的是fileupload控件,这个控件没有filter属性
支持(0) 反对(0) 泪的诺言lni | 园豆:105 (初学一级) | 2010-11-25 10:50
0

IE下得用ActiveXObject

<script type="text/javascript">
function openfile() {
try {
var fd = new ActiveXObject("MSComDlg.CommonDialog");
fd.Filter
= "图像文件 (*.jpg;*.jpeg;*.gif)|*.jpg;*.jpeg;*.gif";
fd.FilterIndex
= 2;
// 必须设置MaxFileSize. 否则出错
fd.MaxFileSize = 128;
fd.ShowOpen();
document.getElementById(
"txtFileName").value = fd.Filename;
document.getElementById(
"textImage").src = fd.FileName;
}
catch (e) {
alert("你的浏览器不支持ActiveX!\r\n请启用ActiveX后重试.");
document.getElementById("txtFileName").value = "";
}
}

</script>

 

<input type="text" id="txtFileName" size="50" readonly="readonly" />
<input type="button" onclick="openfile()" value="Browse..." />
<img id="textImage" alt=""/>

 

如果想要兼容的话建议用swfupload flash上传组件吧...

三桂 | 园豆:3565 (老鸟四级) | 2010-11-25 10:55
这个可以一试
支持(0) 反对(0) Tester Chen | 园豆:1690 (小虾三级) | 2010-11-25 11:06
原来要上传组件.............
支持(0) 反对(0) 夏夏夏夏夏夏夏 | 园豆:89 (初学一级) | 2011-02-11 10:46
0

html的 input file是没有这个功能的。用flash上传吧 楼上的swfupload 不错

码尔代夫iimax | 园豆:3138 (老鸟四级) | 2010-11-25 14:08
-1
Oo顺子oO | 园豆:202 (菜鸟二级) | 2014-08-14 15:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册