请各位看管评判此句是否有问题。
Response.WriteFile(“C:\XXX”);
可否正常执行。首先大家讨论下:
作为Response对象,是响应客户端请求的,用他来写文件,无疑就是给客户端直接写。试问,这样的写的操作对于一个普通HTTP请求而言。具备权限???我想肯定是不具备的。因为WINDOWS系统的文件安全权限系统会无情的拒绝你的写操作。但是近来网上很多博客上都写了怎么怎么用此方法实现了服务端的文件自动下载到客户端的文件夹里。我就纳闷了。你这样粗暴的方式就能绕过微软那套安全机制????还是我自己太肤浅了?其此像各位请教下:
我这2天恰巧也有这方面的功能。将服务器上一个文件自动下载到IE的临时文件夹里。但是没有好的方法。在这里像各位请教了。
Response.WriteFile(“C:\XXX”);
可否正常执行。首先大家讨论下:
作为Response对象,是响应客户端请求的,用他来写文件,无疑就是给客户端直接写。试问,这样的写的操作对于一个普通HTTP请求而言。具备权限???我想肯定是不具备的。因为WINDOWS系统的文件安全权限系统会无情的拒绝你的写操作。但是近来网上很多博客上都写了怎么怎么用此方法实现了服务端的文件自动下载到客户端的文件夹里。我就纳闷了。你这样粗暴的方式就能绕过微软那套安全机制????还是我自己太肤浅了?其此像各位请教下:
我这2天恰巧也有这方面的功能。将服务器上一个文件自动下载到IE的临时文件夹里。但是没有好的方法。在这里像各位请教了。
解决方案 »
- asp.net性能优化的几个方面
- gridview编辑按钮
- 有没有比较好的免费的支持ASPNET的空间可以注册啊
- 乱码问题?
- 如何计算日期啊
- 一系列问题,难~100分
- 用 c# 怎样根据数据库里的内容动态生成树状菜单?急求。
- 出学ASPX,入门性问题请教,类似数据连接之类(一个问题 10分)
- 高分求解:急:我的主页采用的是框架,分成上(名为banner),左下(名为content),右下(名为main)三部分,有一个ListBox在框架的左下(cont
- 请问大家,javascript可以打开一个三个按钮的对话框吗?
- sql中,日期问题
- ASPxGridView的GridViewDataHyperLinkColumn问题
如果没有特别设置,默认情况下还真是有这权限的
我测试了下,我这边是不行的。我的文件夹系统什么的权限,我自安装以来都没动过。唯一一点的是,我的系统是win2003的。求解~
ASP.NET下载文件
好像是向客户端输出一个指定的文件流
是可以下载,但是前提是终端机器的指定位置上必须你有你指定的那个文件存在,也就是说只能写特定文件,而不能自由创建。还是被权限给控制住了。
你测试是在你本机吧,网站在你本机运行(就是你的机器是服务器),网站理论上当然可以访问服务器上的文件了(就是你说的你把你机器上C:\XXX.TXT下载下来了。)
实际情况是,IE临时文件夹在windows系统里面是个特殊的文件夹,它里面保存的都是你访问的网页内容,有很多像JS这样的脚本都是靠浏览器解析后才能运行(看到效果)。所以访问一个网页的时候会下载这些内容和脚本。
另外目前的浏览器默认安全设置下是不允许浏览器访问除了IE临时文件夹以外的文件的。
Response.WriteFile(“C:\XXX”)指定的是你服务器上的路径,不是客户端的
WriteFile("") 也就可以。因为它根本不是“把文件写到客户端的文件夹里”。
晕死!这是又轻易拐到哪个沟里啦?实在是不知道你的“测试”是什么测试,“终端机器的指定位置上”是哪一个“位置”?我告诉你,那些下载的范例、至少这个代码没有写错。而你理解错了。你把人家下载byte[]硬说成是写文件到客户端的文件夹里。
这句无法正常执行,第一有语法错误;第二服务器上不一定有这个文件。另外这个语句的意思是从服务器上读取一个文件,将其作为字节流写入响应客户端请求的连接中,从而对客户端(浏览器)而言获取了数据,这个数据,如果没有其他头信息,是作为普通文本显示在网页上的;作为文件下载,就需要配合客户端请求和相应的响应头信息设置,比如ContentType、编码、文件名等,仅有这一句代码是不够的。另外,从来没有从服务器往客户机器上写文件一说,不然现在谁的机器还能正常运行?随便一个网站都把你格式化了。所有的“文件下载”,都是首先由客户端发起请求,由客户端确定下载后保存的位置才可能进行的。