加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

选择完成后和提交上传之前的asp.net FileUpload事件

发布时间:2020-12-16 04:37:56 所属栏目:asp.Net 来源:网络整理
导读:我想显示通过FileUpload控件的Browse按钮选择的文件的大小. 理想情况下,此值会在用户选择文件后立即显示,但在单击“上载文件”按钮之前. 我有一个网络形式. Button看起来像这样: asp:Button ID="UploadButton" runat="server" onclick="UploadButton_Click"
我想显示通过FileUpload控件的Browse按钮选择的文件的大小.

理想情况下,此值会在用户选择文件后立即显示,但在单击“上载文件”按钮之前.

我有一个网络形式. Button看起来像这样:

<asp:Button ID="UploadButton" runat="server" onclick="UploadButton_Click" Text="Upload File"/>

按钮控件的onclick事件会导致回发并上载文件.

我知道如何获取文件的大小,但不是在单击“上载文件”按钮并发生回发之前.

是否有与FileUpload Web控件关联的事件可以提交表单(即回发)而无需单击按钮?

整个意图是我想让用户感觉上传可能需要多长时间…为10mb文件设置不同于2kb文件的预期等等.

解决方法

问题是,如果没有回发,就无法找到客户端文件的大小.您可以使用Ajax,但这意味着首先要上传文件.

这只能使用某种ActiveX控件来完成.我建议使用类似于Silverlight FileUploader的东西,因为它在回发之前获得了文件的大小,甚至有一个很好的进度指示器.

更新:如果要在用户单击浏览后触发回发或Ajax请求,则客户端事件为“onchange”.这是一个如何使用onchange事件的示例.

<asp:FileUpload runat="server" 
    onchange="alert('you selected the file: '+ this.value)" />

您可以使用onchange,触发ajax以首先上载文件,然后更新显示文件大小的标签.这样做的问题在于,如果它是一个大文件,它的目的是让用户知道它需要很长时间.

这是另一个建议:有一个jQuery插件,在上传之前使用flash来确定文件的大小,它非常容易使用.请在jQuery Uploadify查看

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读