有关FileUpload控件的问题——时间都去哪了。

q_orange2 2015-03-10 05:40:11
利用FileUpload来获取要上传文件的文件名,只获取文件名而不真正的上传文件。
点击FileUpload自带浏览选择文件,然后添加一个按钮获取文件名
 protected void btn_import_Click(object sender, EventArgs e)
{
RadAjaxManager1.Alert("aaaaaaaa");
string path = Path.GetFullPath(FileUpload_File.PostedFile.FileName);
}

为什么会随着文件的大小弹出aaaaa的时间也会变长呢,时间都去哪了呢?
或者,大家有什么方法获取本地文件全路径的方法吗?
先谢过了。
...全文
339 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
q_orange2 2015-03-13
  • 打赏
  • 举报
回复
引用 15 楼 Z65443344 的回复:
花一星期画的画,要一年才能卖的出去 花一年画的画,可能一天就卖出去了 不肯花时间,哪里来的质量 光拼数量,做出一大堆残次品,有什么意义 都是中国人用来骗中国人的
嗯,教训的是。我只是个低层的程序员,没有改变用户需求和决定方案的权利,这个程序是两部分组成的,我只是负责c/s段,而b/s段是另外一批人在做。就这样吧,还是很谢谢你。
於黾 2015-03-13
  • 打赏
  • 举报
回复
花一星期画的画,要一年才能卖的出去 花一年画的画,可能一天就卖出去了 不肯花时间,哪里来的质量 光拼数量,做出一大堆残次品,有什么意义 都是中国人用来骗中国人的
q_orange2 2015-03-13
  • 打赏
  • 举报
回复
引用 12 楼 Z65443344 的回复:
话说,做了个假的"壳",加载IE,冒充CS,实际上却是BS,但是又不理解BS的原理,还不想学,只想找个办法糊弄过去 你实在不适合干程序员
於黾 2015-03-13
  • 打赏
  • 举报
回复
你可以骗自己,你可以骗领导 但是你骗不了代码,你骗不了用户
於黾 2015-03-13
  • 打赏
  • 举报
回复
话说,做了个假的"壳",加载IE,冒充CS,实际上却是BS,但是又不理解BS的原理,还不想学,只想找个办法糊弄过去 你实在不适合干程序员
还想懒够 2015-03-13
  • 打赏
  • 举报
回复
引用 8 楼 q_orange2 的回复:
[quote=引用 6 楼 sp1234 的回复:] 如果你用你的桌面程序开发,不但可以有很好、很高级的用户体验(例如支持用户鼠标拖放、甚至“摇一摇”就上传当前正在打开查看的文件),而且可以有很好的上传性能(例如将文件参数给服务器的时候,可能服务器直接就能把过去传过的相同内容但是名字不同的文件(或者文件磁盘块)直接复制就好了,而不需要客户端再上传了。这样你的上G的文件也可以“秒传”)。 做桌面程序是很好的。那些用一个web页面嵌入的假c/s程序,基本上全都无法经得起性能测试和(熟练)用户操作体验的要求。
感谢您的回答。程序都已经做好了,现在在临时改方案不太可能了,现在就是要解决这个问题了。fileupload这个控件上传文件的原理是什么呢?浏览完成后,点击同一form内的一个无关紧要的按钮,也会引起他的上传,为什么这样呢?[/quote] 你这么去理解吧,ASP.NET里面的Submit动作,是将整个网页里面的数据对象(包括你输入的文本、上传的文件)一同全部post到IIS,然后IIS去根据你的服务端控件去挨个的解析和赋值,这样你就可以直接通过后台代码获取到对象的值了
还想懒够 2015-03-13
  • 打赏
  • 举报
回复
引用 9 楼 q_orange2 的回复:
引用 7 楼 jjkk168 的回复:
为何不用javascript直接获取文件名?
您好,JS可以实现弹出选择文件对话框,然后选择文件吗?
安全问题,不能,除非使用ActiveX
q_orange2 2015-03-12
  • 打赏
  • 举报
回复
引用 7 楼 jjkk168 的回复:
为何不用javascript直接获取文件名?
您好,JS可以实现弹出选择文件对话框,然后选择文件吗?
q_orange2 2015-03-12
  • 打赏
  • 举报
回复
引用 6 楼 sp1234 的回复:
如果你用你的桌面程序开发,不但可以有很好、很高级的用户体验(例如支持用户鼠标拖放、甚至“摇一摇”就上传当前正在打开查看的文件),而且可以有很好的上传性能(例如将文件参数给服务器的时候,可能服务器直接就能把过去传过的相同内容但是名字不同的文件(或者文件磁盘块)直接复制就好了,而不需要客户端再上传了。这样你的上G的文件也可以“秒传”)。 做桌面程序是很好的。那些用一个web页面嵌入的假c/s程序,基本上全都无法经得起性能测试和(熟练)用户操作体验的要求。
感谢您的回答。程序都已经做好了,现在在临时改方案不太可能了,现在就是要解决这个问题了。fileupload这个控件上传文件的原理是什么呢?浏览完成后,点击同一form内的一个无关紧要的按钮,也会引起他的上传,为什么这样呢?
还想懒够 2015-03-11
  • 打赏
  • 举报
回复
为何不用javascript直接获取文件名?
  • 打赏
  • 举报
回复
如果你用你的桌面程序开发,不但可以有很好、很高级的用户体验(例如支持用户鼠标拖放、甚至“摇一摇”就上传当前正在打开查看的文件),而且可以有很好的上传性能(例如将文件参数给服务器的时候,可能服务器直接就能把过去传过的相同内容但是名字不同的文件(或者文件磁盘块)直接复制就好了,而不需要客户端再上传了。这样你的上G的文件也可以“秒传”)。 做桌面程序是很好的。那些用一个web页面嵌入的假c/s程序,基本上全都无法经得起性能测试和(熟练)用户操作体验的要求。
  • 打赏
  • 举报
回复
你然你做一个桌面客户端,就把“读取文件、将文件参数传给服务器、将文件内容传给服务器”单独自己实现吧。不要糊弄别人地去弄一个“壳”来嵌入网页冒充c/s程序。
q_orange2 2015-03-10
  • 打赏
  • 举报
回复
引用 3 楼 sp1234 的回复:
当你的服务器端的asp.net代码运行时,客户端的<form>早就上传完毕了,也就是说FileUpload中的文件早就传送到服务器了。而不是什么“只获取文件名而不真正的上传文件”。你可以不去保存文件,但是文件必须先传送到服务器。 另外,规范的html是不允许上传客户端的文件路径的(只能上传文件名)。你那种想法,只能适应7、8年前的IE6、IE7而以,其它浏览器都不支持。
嗯,感谢回答。。我用c++做的浏览器就是用IE内核的,需要修改IE设置就可以获取全路径的。那我再问下能不能有什么方法可以优化一下时间,我可能需要上传一个几百M的文件。
  • 打赏
  • 举报
回复
当你的服务器端的asp.net代码运行时,客户端的<form>早就上传完毕了,也就是说FileUpload中的文件早就传送到服务器了。而不是什么“只获取文件名而不真正的上传文件”。你可以不去保存文件,但是文件必须先传送到服务器。 另外,规范的html是不允许上传客户端的文件路径的(只能上传文件名)。你那种想法,只能适应7、8年前的IE6、IE7而以,其它浏览器都不支持。
q_orange2 2015-03-10
  • 打赏
  • 举报
回复
引用 1 楼 wjq 的回复:
不能。 以安全角度来说,用户电脑对服务器来说是个黑箱,用户要上传文件,那么文件内容和文件名就足够了,实在难以想象还有什么正常的场景需要文件的完整路径。(某些人还企图在代码里指定上传的文件,也一样是不允许的)特别是互联网场景。 如果是企业内部应用,如果真的有这个需求,可以考虑使用ActiveX控件来实现文件上传之类的功能。
算是内部使用吧。具体情况是我用c++开发的一个客户端(类似浏览器)加载网站。然后在网站中选择文件,我需要知道选择的文件的全路径,我这个客户端才能对文件进行操作。用fileupload可以获取全路径,但是会根据文件大小影响时间。这是怎么回事呢? 感谢您的回答。
wjq 2015-03-10
  • 打赏
  • 举报
回复
不能。 以安全角度来说,用户电脑对服务器来说是个黑箱,用户要上传文件,那么文件内容和文件名就足够了,实在难以想象还有什么正常的场景需要文件的完整路径。(某些人还企图在代码里指定上传的文件,也一样是不允许的)特别是互联网场景。 如果是企业内部应用,如果真的有这个需求,可以考虑使用ActiveX控件来实现文件上传之类的功能。
云应用开发 Google App Engine & Google Web Toolkit入门指南 侯炯 目录 第1章 应该了解下 1.1云基本知识 1.2Google App engine 1.3Google Web Toolkit 第2章 环境搭建 2.1安装JDK 2.2安装Eclipse 2.3安装SDK和Eclipse插件 第3章 Hello World! 3.1 创建项目 3.2 目录结构说明 3.3 修改文件 3.4 运行调试 第4章 华丽的控件 4.1 显示文本——Lable,HTML 4.2 方形选择框——CheckBox 4.3 圆形选择框——RadioButton 4.4 按钮——Button 4.5 自定义按钮——PushButton,ToggleButton 4.6 文件上传——FileUpload 4.7 时间选择器——DatePicker 4.8 列表控件——ListBox 4.9 联想输入框——Suggest Box 4.10 树结构——Tree 4.11 菜单条——MenuBar 4.12 栈板——StackPanel 4.13 基本输入框的——TextBox,PasswordTextBox,TextArea 4.14 弹出框框——RichTextArea 4.15 弹出对话框——DialogBox 4.16 修饰面板——DecoratorPanel 4.17 自然布局面板——FlowPanel 4.18 水平布面板——HorizontalPanel 4.19 垂直布局面板——VerticalPanel 4.20 绝对定位面板——AbsolutePanel 4.21 停靠面板——DockPanel 4.22 展开面板——DisclosurePanel 4.23 标签面板——TablePanel 4.24 水平拆分面板——HorizontalSplitPanel 4.25 垂直拆分面板——VerticalSplitPanel 4.26 网格——Grid 4.27 灵活表格——FlexTable 第5章 装饰控件 5.1 控件的主题 5.2 通过CSS装饰控件 5.3 通过代码修改控件 5.4 实例——火车时刻表 第6章 通信机制 6.1 RPC机制 6.1.1什么是RPC 6.1.2接口函数实现 6.1.3可序列化 6.1.4 注册服务 6.1.5 使用服务 6.1.6 实例——股票价格表RPC版本 6.2 Servlet机制 6.2.1 Servlet介绍 6.2.2 实例——Servlet版本HelloWorld 第7章 数据操作 7.1 概述 7.2 定义数据类 7.3 创建,获取和删除数据 7.4 查询和索引 7.5 事务 7.6 关系 7.7 实例——员工管理系统 第8章 国际化 8.1 普通文本国际化 8.2 参数文本国际化 8.3 实例 第9章 应用托管 9.1 申请Google App Engine账号 9.2 上传应用 9.3 应用维护指南 第10章 实战 10.1 入门例子——股票系统 10.1.1创建项目 10.1.2设计应用 10.1.3建立用户界面 10.1.4创建控件和面板 10.1.5事件处理 10.1.6实现客户端功能 10.1.7添加应用样式 10.1.8国际化 10.1.9服务器交互 10.1.10让App Engine托管应用 10.2 中级例子——个人网站 10.2.1样子与功能 10.2.2创建项目 10.2.3定义数据结构 10.2.4规定通讯协议 10.2.5实现数据交互和发送邮件功能 10.2.6注册提供服务 10.2.7总体界面设计 10.2.8首页界面实现 10.2.9日志界面实现 10.2.10关于我界面实现 10.2.11留言界面实现 10.2.12管理界面实现 10.2.13统筹界面和连接功能 10.2.14国际化 10.2.15欢迎界面和样式文件修改 10.2.16总结 10.3 高级例子——号码管家(GAE+GWT+Android) 10.3.1样子与功能 10.3.2创建项目 10.3.4规定通讯协议 10.3.5实现服务端的功能 10.3.6注册提供服务 10.3.7帮助界面设计 10.3.8服务条款界面设计 10.3.9编辑界面设计 10.3.10登陆界面设计 10.3.11列表界面设计 10.3.12统筹界面和连接功能 10.3.13国际化 10.3.14欢迎界面和样式文件修改 10.3.15手机端界面与功能实现 10.3.16总结

62,046

社区成员

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

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

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

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