老板提出这一苛刻问题,我还是头一次遇到,各位大虾来看看,顺便放分!!!!~~~

sd166 2005-08-10 09:46:39
在页面中有一链接是链到一个pdf文件,要求当点击链接时,不管客户端装没装支持pdf格式的阅读程序,都让它出现保存对话框,我试了试,如果客户端装了Adobe Reader,当点击链接时,是直接打开,如果没装才出现保存对话框,各位大虾有没有办法帮助解决这一问题,先谢谢了

不管客户端装没装Adobe Reader,都让它出现保存对话框.
...全文
568 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiying 2005-08-11
  • 打赏
  • 举报
回复
mark
Kain 2005-08-11
  • 打赏
  • 举报
回复
mark
luck0235 2005-08-10
  • 打赏
  • 举报
回复
gz
yipiaoqingshui 2005-08-10
  • 打赏
  • 举报
回复
学习了学习了
sd166 2005-08-10
  • 打赏
  • 举报
回复
不错不错,学习了,以前没用过
谢谢各位,结贴了
TechEye 2005-08-10
  • 打赏
  • 举报
回复
blackhero(黑侠客)的没错,通过改写header可以实现。
peterHunter 2005-08-10
  • 打赏
  • 举报
回复
关注
goodluck001 2005-08-10
  • 打赏
  • 举报
回复
给你一个绝对可以允许的C#版本的下载代码:

变量说明:
FilePath:要下载的文件的文件名
FilePath:文件的路径


Response.AppendHeader( "content-disposition","attachment; filename=" + HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8 ));
Response.ContentType = "application/download";
Response.WriteFile(FilePath);
Response.End();
cherish58 2005-08-10
  • 打赏
  • 举报
回复
Download.aspx文件:(C#
private void Page_Load(object sender, System.EventArgs e)
{
string filename = Request.QueryString("filename") ;
Response.ContentType = "application/octet-stream" ;
Response.AddHeader("Content-Disposition","attachment;filename=" & HttpUtility.UrlEncode(filename,System.Text.Encoding.UtF8));
Response.WriteFile(filename);
Response.End();
}
PGLife 2005-08-10
  • 打赏
  • 举报
回复
来段C#的:
在PageLoad中加上
string strFilename = Request["filename"].ToString();
HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8));
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(strFilename));
Response.ContentType = "application/octet-stream";// 指定返回的是一个不能被客户端读取的流,必 须被下载
Response.WriteFile(strFilename); // 把文件流发送到客户端
Response.End();

在另外一个文件中添加链接,如:<a href="./Download.aspx?filename=测试文件.txt">测试文件</a>

建哥聊IT 2005-08-10
  • 打赏
  • 举报
回复
up
sd166 2005-08-10
  • 打赏
  • 举报
回复
谢谢各位仁兄了,这个方法确实可以,不过又出现了一个问题,当保存对话框出现后,显示的文件名后自动加了一个[1],例如: 文件名:aa.pdf[1],如果这时点保存是下载了,但点打开的话,只能是打不开,这个
[1]怎么去掉?
WNASP 2005-08-10
  • 打赏
  • 举报
回复
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename )

attachment一定要加上!
再度梦想 2005-08-10
  • 打赏
  • 举报
回复
支持
blackhero 2005-08-10
  • 打赏
  • 举报
回复
—————————————————————————————————————
ASP.NET直接下载一个文件,而不是在IE中打开它
—————————————————————————————————————
Download.aspx文件:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim filename As String = Request.QueryString("filename")
Response.ContentType = "appliction/octet-stream" ‘appliction/octet-stream是MIME(Multipurpose Internet Mail Extensions)的一种,表示任何类型的文件
Response.AddHeader("Content-Disposition", "attachment;filename=" & HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8))
Response.WriteFile(filename)
Response.End()
End Sub
在另外一个文件中添加链接,如:<a href="./Download.aspx?filename=测试文件.txt">测试文件</a>


这段代码有没有c#的

最后接分
lovefootball 2005-08-10
  • 打赏
  • 举报
回复
这个一般都是先搞到另外一个页面去
然后再下载
就像楼上说的
smoothwood 2005-08-10
  • 打赏
  • 举报
回复
顺便~~这个要求不算苛刻:)
很多客户都回这么提的
smoothwood 2005-08-10
  • 打赏
  • 举报
回复
—————————————————————————————————————
ASP.NET直接下载一个文件,而不是在IE中打开它
—————————————————————————————————————
Download.aspx文件:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim filename As String = Request.QueryString("filename")
Response.ContentType = "appliction/octet-stream" ‘appliction/octet-stream是MIME(Multipurpose Internet Mail Extensions)的一种,表示任何类型的文件
Response.AddHeader("Content-Disposition", "attachment;filename=" & HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8))
Response.WriteFile(filename)
Response.End()
End Sub
在另外一个文件中添加链接,如:<a href="./Download.aspx?filename=测试文件.txt">测试文件</a>
bitsbird 2005-08-10
  • 打赏
  • 举报
回复
可以连接到另一个页面,在这个页面进行下载
sd166 2005-08-10
  • 打赏
  • 举报
回复
我试过,doc格式倒是总是出现保存对话框,而无论客户端装没装word.
为什么doc可以呢?
不解

62,074

社区成员

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

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

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

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