Response.ContentType  =  "application/octet-stream"    
Response.AppendHeader("Content-Disposition", "attachment; filename=" & folderNm &  fileNm)  
Response.WriteFile("../" & folderNm & fileNm)  
Response.End()  
 
以上所写的代码中"folderNm & fileNm"的文件名是需要下载的文件名(aaa.doc),如果下载时选择直接打开文件,那么文件正常打开。但是当点击下载保存时,保存时默认的文件名变成了当前页面的名字(downPage.aspx),而不是实际文件的名字(aaa.doc),请问有什么方法可以解决吗? 
 
原链接如下:<A  href='../downPage.aspx?fileNm=aaa.doc&folderNm=123'  target=_blank>aaa.doc</A>

解决方案 »

  1.   

    我的程序也这样,在一些地方是可以正常的,但有些电脑做服务器就下载得到,**.aspx的文件名的东西来,要手工改名字下载到的东西才能正常用。
      

  2.   

    把链接做成这样:  
     
    <a href="download.aspx/hello.chm?fileid=12345">hello.chm</a>  
     
    这样客户端下载的时候默认是 hello.chm 这个名字的。
      

  3.   

    我改成
    Response.AppendHeader("Content-Disposition", "attachment; filename=" &  fileNm)
    就可以了,原来这里不需要路径...
    谢谢楼上..
      

  4.   

    Response.AppendHeader("Content-Disposition", "attachment; filename=" &  Server.UrlEncode(fileNm))
    这样就不乱码了..