使用HtmlInputFile控件

ljlsucfe 2007-04-16 03:45:37
请教大家一个问题
vs2003中,使用HtmlInputFile控件,我们一般做文件上传的时候,放一个这样的控件(命名为objHIF),再放一个按纽(btnLoad),用户能过点objHIF的"浏览"按纽,选择文件后,点按纽btnLoad,在btnLoad里事件里实现文件上传,现在有这样一个问题,能否在按纽btnLoad的事件里,调 用objHIF控件的那个"浏览"按纽的click事件?也就是说,不需要用户点两次,只需要点一次btnLoad,就弹出那个选择文件的对话框?
...全文
318 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
KKND2006 2007-04-25
  • 打赏
  • 举报
回复
拒绝访问是因为预览,去掉<span id="ccc" onclick="alert(aaa.value);ddd.src=aaa.value;">查看结果</span>
ljlsucfe 2007-04-23
  • 打赏
  • 举报
回复
谢谢sp1234:按你的方法,文件上传时会提示,拒绝访问,可能是上面孟兄提到的安全性的问题,不知道你自己有没有试成功过?
ljlsucfe 2007-04-17
  • 打赏
  • 举报
回复
谢谢sp1234,按你的方法现在就试一下
  • 打赏
  • 举报
回复
你可以自己写一个ascx,来取代FileUpload控件,把你说的“立刻回发页面”、对特殊后缀的文件自动预览等新鲜的功能都封装到这个自定义控件中。
  • 打赏
  • 举报
回复
此外,可以先桌面添加一个htm后缀的文件,然后粘贴下面的html代码运行一下:

<input id="aaa" type="file" style="display: none" />
<span id="bbb" onclick="aaa.click();">选择文件</span>
<span id="ccc" onclick="alert(aaa.value);ddd.src=aaa.value;">查看结果</span>
<img id="ddd" src="" />

你会发现完全可以方便地做大:隐藏FileUpload,使用自定义的asp.net控件重新设计一个FileUpload同等功能的界面,并且也可以简单地做到预览。
  • 打赏
  • 举报
回复
objHIF.Attributes["onpropertychange"]="if(confirm('好了吗?'))"+ btnLoad.ClientID+".click();";
ljlsucfe 2007-04-17
  • 打赏
  • 举报
回复
上面第一个问题已经用javascript进行控制,不知道有没有办法处理第二个问题,将"浏览"两字改成"上传文件",请大家帮忙看一下
ljlsucfe 2007-04-16
  • 打赏
  • 举报
回复
用户点"浏览"、选择文件后,会响应这个事件,我在事件里加个确认对话框就可以
现在有两个问题: 1 用户在objHIF框里输了东西,就会响应这个事件,如何控制?
2 我如何将objHIF的"浏览"两字改成"上传文件" 用户需要点"浏览"按纽
Eri 2007-04-16
  • 打赏
  • 举报
回复
这样不好吧,选错了咋办呀。
孟子E章 2007-04-16
  • 打赏
  • 举报
回复
我如何将objHIF的"浏览"两字改成"上传文件"?既然不用,可以用层盖上
ljlsucfe 2007-04-16
  • 打赏
  • 举报
回复
用这样的方式可以。在objHIF的onpropertychange事件中,调用一个js函数,这个函数中,调用页面的按纽(btnLoad)的onclick事件,在按纽(btnLoad)的onclick事件里,实现文件的上传
但现在还有一个问题,我如何将objHIF的"浏览"两字改成"上传文件"
ljlsucfe 2007-04-16
  • 打赏
  • 举报
回复
谢谢孟兄的关注!
现在我主要是考虑IE5.0以上的浏览器,不知道可以用什么方法实现,能否给个思路?
孟子E章 2007-04-16
  • 打赏
  • 举报
回复
可以,但有的浏览器出于安全考虑,上传不了内容

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧