制作下载文件功能的asp.net页面,在服务器上时下载功能实现但是文件却打不开? 5
我刚刚接触asp.net,对上面的问题描述不够详细,不够专业,我再详细的解释下我遇到的问题:这个下载文件的页面在本地机器上运行时,它的下载功能是可以实现的,而且下载下来的...
我刚刚接触asp.net,对上面的问题描述不够详细,不够专业,我再详细的解释下我遇到的问题:这个下载文件的页面在本地机器上运行时,它的下载功能是可以实现的,而且下载下来的文件(如Word文档等)是可以正常打开的。但是当把网站加载到服务器后,通过网址登录网站后,这个页面的下载功能可以实现,但是下载下来的文件却打不开。我想知道的是为什么会出现这种差异?是不是安装的IIS Web有什么问题?谢谢告知。。。。。。
展开
2个回答
展开全部
普通情况下,浏览器会根据URL后缀(如:.html, .aspx, .exe, .rar)或者HTTP HEADER里的MIME(content-type,如text/html,image/jpeg)来判断是否弹出“文件下载”对话框。HTML,PDF,TXT,JPG这些文本,图片的,都可以直接用浏览器来看,所以无需“文件下载”对话框。而EXE,RAR等文件无法直接用浏览器看,所以需要“文件下载”对话框。具体实现,是你给的网页。
既然下载功能实现起来这么简单,为什么有的人还要写一些复杂的代码呢?
=========================
那么你所给的网页中,HTTP HEADER里多了:"Content-Disposition", "attachment;filename=" + fileName,"Content-Type":"application/octet-stream",这个的用处就是强制让浏览器弹出“文件下载”对话框,无论是HTML,TXT,PDF,都要下载。还有文件名字可以定义。octet-stream是一种MIME,是让浏览器接受大文件已stream形式缓冲下载(其实没什么特别的 ~)。
那个东西是不用做的
看看HTTP协议会多一些理解。
既然下载功能实现起来这么简单,为什么有的人还要写一些复杂的代码呢?
=========================
那么你所给的网页中,HTTP HEADER里多了:"Content-Disposition", "attachment;filename=" + fileName,"Content-Type":"application/octet-stream",这个的用处就是强制让浏览器弹出“文件下载”对话框,无论是HTML,TXT,PDF,都要下载。还有文件名字可以定义。octet-stream是一种MIME,是让浏览器接受大文件已stream形式缓冲下载(其实没什么特别的 ~)。
那个东西是不用做的
看看HTTP协议会多一些理解。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询