ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ASP.NET下载文件(弹出打开保存文件对话框)

ASP.NET下载文件(弹出打开保存文件对话框)

原创 Linux操作系统 作者:iDotNetSpace 时间:2009-12-30 14:14:41 0 删除 编辑

看了好多种方法

好像都是通过Response转换来的

 


<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->public void Open()
    {
 
        
string FullFileName = "";
        
        
//ASP.NET下载文件(弹出打开保存文件对话框) 
        
//fileURL为带路径的文件全名 
        /*
        string fileURL = url;
        System.IO.FileInfo fileInfo = new System.IO.FileInfo(fileURL); 
        Response.Clear(); 
        Response.AddHeader("content-disposition","attachment;filename="+Server.UrlEncode(fileInfo.Name.ToString())); 
        Response.AddHeader("content-length",fileInfo.Length.ToString()); 
        Response.ContentType = "application/octet-stream"; 
        Response.ContentEncoding = System.Text.Encoding.Default; 
        Response.WriteFile(fileURL); 
         
*/

        
//无错版: 
        try
        {
            
string FileName = ".//路径//书名.pdf";
            FileName 
= ".//路径//文件名.扩展名";
            FullFileName 
= Server.MapPath(FileName); 
            
//FileName--要下载的文件名 
            FileInfo DownloadFile = new FileInfo(FullFileName);
            
if (DownloadFile.Exists)
            {
                Response.Clear();
                Response.ClearHeaders();
                Response.Buffer 
= false;
                Response.ContentType 
= "application/octet-stream";
                Response.AppendHeader(
"Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.ASCII));
                Response.AppendHeader(
"Content-Length", DownloadFile.Length.ToString());
                Response.WriteFile(DownloadFile.FullName);
                Response.Flush();
                Response.End();
            }
            
else
            {
                
//文件不存在
            }
        }
        
catch
        {
           
//打开时异常了
        } 

    }

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-623970/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: C# 事件 vs 委托
请登录后发表评论 登录
全部评论

注册时间:2008-01-04

  • 博文量
    2376
  • 访问量
    5766113