上次(http://www.blogjava.net/liwei/archive/2006/09/09/68697.html)谈了fileupload控件的一些内容,主要谈的是点击自己定义的按钮时,触发该控件的一些幕后过程,但点击控件中的浏览(英文为browse,日文为参照)时,仍然有些黑幕。
fileupload控件由一个textbox和一个button构成,但因它将两个封装在一起了,我们没法对其单独操作,只能利用提供的属性方法来操纵它。
在点击控件中的浏览按钮时,它会先检查textbox里是否有内容,如果没有,它会调用系统中最近打开的文件夹,然后将其打开,默认会打开我的文档;如果有值,它会依照该值来打开文件夹。在这里就会出现问题了,如果textbox里的值是标准的文件路径的话,没问题,但不是的话,就可能出问题,解决都很麻烦。据我测试的结果,几下几种情况会有问题:1不少于一个的/;2不少于一个的|;3不少于一个的<;(4两个.;5两个字符的组合:/)多个字符组合时,不确定。当出现一个\时,以上几种情况都会无效。要是有其他不确定情况,还得请大家赐教了。当有以上情况时,点击浏览时,它不会弹出文件选择对话框。
要解决这个问题,我也没好的方法。不过有些能启发人的思路。
一
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="FileUpload1"
ErrorMessage="必须是 jpg或者gif文件" ValidationExpression="^(([a-zA-Z]:)|(\\{2}\W+)\$?)(\\(\W[\W].*))+(.jpg|.Jpg|.gif|.Gif)$"></asp:RegularExpressionValidator>
当焦点移出fileupload控件时,RegularExpressionValidator控件会起效,但浏览按钮是fileupload控件的一部分,点击时并没有触发RegularExpressionValidator控件。
不知是否有其他控件能够监测呢?
二
<HTML>
<HEAD>
</HEAD>
<SCRIPT LANGUAGE="JAVASCRIPT" type="text/javascript">
function HandleFileButtonClick()
{ document.frmUpload.myFile.click();
document.frmUpload.txtFakeText.value = document.frmUpload.myFile.value;
}
</SCRIPT>
<body>
<form name="frmUpload">
<input type="file" name="myFile" style="DISPLAY:none">
<input type="text" name="txtFakeText" readonly>
<input type="button" onclick="HandleFileButtonClick();" value="Browse" style="BACKGROUND:white">
</form>
</body>
</HTML>
这个就是将控件隐藏,再显示一个text和button作画面代替它,后面还是要调用控件提供的方法。这里text是只读的,因为没法给控件赋值。这样做的话,自然就不会发生前面的问题了。
分享到:
相关推荐
接着,我们定义安全拦截器,例如`ChannelProcessingFilter`用于HTTP和HTTPS之间的切换,以及`SecurityContextHolderAwareRequestFilter`用于处理Spring MVC请求。 然后,我们需要定义访问控制策略。Acegi支持基于...
与标题一致的描叙,你值得拥有,确实很值。来赚分啦。 参考下面大侠而来 http://blog.csdn.net/xutaozero21/article/details/4873439 ...http://www.blogjava.net/lizongbo/archive/2006/12/04/85433.html
0x000000&bcastr_flie=1.jpg|2.jpg|3.jpg|4.jpg|5.jpg&bcastr_link=http://www.baidu.com|http://www.google.com|http://www.sina.com.cn|http://bbs.crsky.com|http://www.blogjava.net/supercrsky&bcastr_title=...
- [http://www.blogjava.net/wangxinsh55/archive/2006/04/27/43535.html](http://www.blogjava.net/wangxinsh55/archive/2006/04/27/43535.html) - **知识点**:Git是一款非常流行的分布式版本控制系统,广泛应用...
Compass是一个强大的,事务的,高性能的对象/搜索引擎映射(OSEM:object/search engine mapping)与一个Java持久层框架.内容包括compass的jar包及从网上搜集的相关学习资料. 附两个不错的资料地址: ...
4. **Killme2008的博客**:`http://www.blogjava.net/killme2008/archive/2008/06/05/206043.html` - 深入解析了Hadoop的架构设计和关键点。 5. **CSDN博客** - `...
3. **TiGERTiAN博客(http://www.blogjava.net/TiGERTiAN/archive/2010/02/03/311827.html)**:专注于Java和Android技术的深度解析。 4. **CSDN博客...
1.webservieces 示例工程源码 里面有两个...http://www.blogjava.net/RongHao/archive/2007/06/12/123638.html(axis1) http://wenku.baidu.com/view/1d9b3d2ecfc789eb172dc8a5.html(axis2) 5.欢迎大家踊跃下载分享传播
第二种是用Apache组织的commons项目中的FileUpload组件,参考资料http://www.blogjava.net/lushengdi/archive/2009/01/09/227063.html。 今天介绍第二种方案中的文件上传,文件下载功能则可细想而知。 第二种方案中...
Swing 程序 软件声明 ========== 本软件为免费开源软件!仅供学习研究使用,未供许可请不要作用于任何商业目的!欢迎学习交流!...Blog: http://www.blogjava.net/huliqing/ home: http://www.tbuy.biz/
//wiki.javascud.org/display/ww2cndoc/Valida<br>tion 网站上收集的一些关于有关Struts2验证框架的资料,并将其做成电子书以方便查看,另外向朋友们推荐一个很好的学习Struts2的博客http://www.blogjava.net/max,...
JavaDOCHelper Viewer 提供了在一个界面里查看、搜索众多组件的HTML格式JAVA DOC api文档,类似于chm格式。 软件界面:http://www.blogjava.net/Unmi/archive/2007/10/08/150946.html
包括jadclipse的jar包以及jad.exe.使用步骤详见以下网址: eclipse: http://www.blogjava.net/landon/archive/2010/07/16/326294.html myEclipse: http://hunter090730.iteye.com/blog/1578425
1. JVM 启动参数大全:http://www.blogjava.net/midstr/archive/2008/09/21/230265.html 2. JVM 结构的一些知识:http://hllvm.group.iteye.com/group/wiki/2905-JVM 3. JVM 堆知识:...
http://iunbug.appspot.com/ 网络阅读可访问:http://www.blogjava.net/tidelgl 网络阅读效果不是很好.推荐下载.
亲爱的读者, 当您掌握了本书的内容后, 应立即掌握以Google来阅读文章提高自己能力的自学之路, 并加入到企业投入到真正企业项目的锻炼中去, ...链接:http://www.blogjava.net/beansoft/archive/2010/09/09/331571.html
Python 使用 PIL 库读取图片的像素值 本文主要介绍了如何使用 Python 的 PIL 库读取图片的像素值,以便在游戏开发中删除不需要的...* PIL 库教程:<http://www.blogjava.net/Skynet/archive/2009/11/28/303986.html>
如果希望处理xml的话,需要使用一个开源的库:libxml2 最开始应该根据本机的环境生成...对了,依附的代码摘自:http://www.blogjava.net/wxb_nudt/archive/2007/11/18/161340.html 很不错的一篇文章,在此表示感谢了!
log4j:ERROR Failed to rename错误解决办法 http://www.blogjava.net/DreamAngel/archive/2011/11/10/363400.html