请各位看管评判此句是否有问题。
Response.WriteFile(“C:\XXX”);
可否正常执行。首先大家讨论下:
作为Response对象,是响应客户端请求的,用他来写文件,无疑就是给客户端直接写。试问,这样的写的操作对于一个普通HTTP请求而言。具备权限???我想肯定是不具备的。因为WINDOWS系统的文件安全权限系统会无情的拒绝你的写操作。但是近来网上很多博客上都写了怎么怎么用此方法实现了服务端的文件自动下载到客户端的文件夹里。我就纳闷了。你这样粗暴的方式就能绕过微软那套安全机制????还是我自己太肤浅了?其此像各位请教下:
我这2天恰巧也有这方面的功能。将服务器上一个文件自动下载到IE的临时文件夹里。但是没有好的方法。在这里像各位请教了。

解决方案 »

  1.   

    Response.WriteFile(“C:\XXX”);
    如果没有特别设置,默认情况下还真是有这权限的
      

  2.   


    我测试了下,我这边是不行的。我的文件夹系统什么的权限,我自安装以来都没动过。唯一一点的是,我的系统是win2003的。求解~
      

  3.   

    http://blog.csdn.net/5653325/article/details/8475375
    ASP.NET下载文件 
      

  4.   

    Response.WriteFile
    好像是向客户端输出一个指定的文件流
      

  5.   

    问题是当客户访问你额WEB网页的时候,你会做到像浏览器的临时文件夹一样自动下载文件到客户的电脑上。也就是说。你可以指定一个客户的电脑路径,但是一万个恐怕不现实了吧。而且我测试过后发现,Response.WriteFile(“C:\XXX”);
    是可以下载,但是前提是终端机器的指定位置上必须你有你指定的那个文件存在,也就是说只能写特定文件,而不能自由创建。还是被权限给控制住了。
      

  6.   


    你测试是在你本机吧,网站在你本机运行(就是你的机器是服务器),网站理论上当然可以访问服务器上的文件了(就是你说的你把你机器上C:\XXX.TXT下载下来了。)
    实际情况是,IE临时文件夹在windows系统里面是个特殊的文件夹,它里面保存的都是你访问的网页内容,有很多像JS这样的脚本都是靠浏览器解析后才能运行(看到效果)。所以访问一个网页的时候会下载这些内容和脚本。
    另外目前的浏览器默认安全设置下是不允许浏览器访问除了IE临时文件夹以外的文件的。
      

  7.   


    Response.WriteFile(“C:\XXX”)指定的是你服务器上的路径,不是客户端的
      

  8.   

    你被自己“死抠名词儿却不求甚解”给骗了。当你执行 Response.WriteFile(“C:\XXX”);的时候,这是“直接写文件到客户端的文件夹里”?这明明是写出去byte[]。如果你不了解这个,问题就很严重了。而所有的输出都是输出byte[],就算你写 Resonse.Write("1234") 也是如此。如果这个Write("")可以,那么前边那个 
    WriteFile("") 也就可以。因为它根本不是“把文件写到客户端的文件夹里”。
      

  9.   


    晕死!这是又轻易拐到哪个沟里啦?实在是不知道你的“测试”是什么测试,“终端机器的指定位置上”是哪一个“位置”?我告诉你,那些下载的范例、至少这个代码没有写错。而你理解错了。你把人家下载byte[]硬说成是写文件到客户端的文件夹里。
      

  10.   

    有的人,假设你给他脑袋上套个煎饼,他吃完嘴旁边的,不知道转一下,结果就被而死了。这就是因为他只能做“一步”的思维,不能想到如何通过“两步”来完成任务。你所看到的那些下载文件并且保存到客户端磁盘上的范例,这一条语句都是下载byte[]字节数据流。这是http的基本的东西,没有什么“不可以的”。至于人家是怎么保存文件到客户端文件夹的,希望你还是耐心点实际去操作吧。不要刚读一点点代码就爆f了。
      

  11.   

    Response.WriteFile(“C:\XXX”);
    这句无法正常执行,第一有语法错误;第二服务器上不一定有这个文件。另外这个语句的意思是从服务器上读取一个文件,将其作为字节流写入响应客户端请求的连接中,从而对客户端(浏览器)而言获取了数据,这个数据,如果没有其他头信息,是作为普通文本显示在网页上的;作为文件下载,就需要配合客户端请求和相应的响应头信息设置,比如ContentType、编码、文件名等,仅有这一句代码是不够的。另外,从来没有从服务器往客户机器上写文件一说,不然现在谁的机器还能正常运行?随便一个网站都把你格式化了。所有的“文件下载”,都是首先由客户端发起请求,由客户端确定下载后保存的位置才可能进行的。