Asp.Net编程实现下载 |
本文标签:Asp.Net编程 Asp.Net编程 经常在论坛看见有人求Asp.Net编程实现下载的代码,有些还希望能断点续传什么的 。其实问题的关键在于权限 。B/S和C/S不仅仅是外观上的区别而已 。 下载,顾名思义是客户端要下,所以载 。你硬塞給人家那不叫下载,那其实是“从服务器‘上传’到客户端” 。 有些人的想法是向客户端“写一个”你打算他下载的“文件”,在C/S结构中是没有问题的,因为C端来写 。但是在Asp.net却是不行的,一定会弹出权限的错误,因为B/S结构中没有个C端給你,S端是不可能获得客户机硬盘的写权限的,要不还不是世界大乱了? 上传和下载的根本区别在于一个是“本地主动送”,一个是“本地主动收” 。他们都需要有一方来“主动”,上传需要对远程有写权限,下载需要对远程有读权限 。现在的情况是服务器根本对客户端没有读写权限,所以实际上在B/S里写这种代码没有 换个思路,我不要服务器主动,我让客户端主动可以吗? 1、IE的下载功能 。包括Http协议中规定的下载(对IE本身无法打开的连接文件类型会提示用户是否下载)这是最方便的,你只要給个超级连接就行了,一点代码都不用 。局限性在于只对“当前IE无法打开的文件类型”有效 。这就是为什么同个东西有些人点了打开浏览,有些人是提示下载,就是浏览器不同(包括组件、版本等) 。 所以,完全用Asp.net在服务器上主观要求客户端“下载”,是很难以实现的 。需要配合其他手段,以上介绍Asp.Net编程 。 |