现在的位置: 首页 > 综合 > 正文

ASP.NET(用c#),弹出文件保存对话框窗口

2013年03月09日 ⁄ 综合 ⁄ 共 1462字 ⁄ 字号 评论关闭

由于要做一个mp3下载的东西,单击下载,会被Media Player打开播放, 保存不了,甚是不便,网上搜了半天,终于找到解决方案,现帖出来给大家。

 

try
{
  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
{
  
//文件不存在
}
 

 

 

另搜到net_lover(【孟子E章】)的解答,只能保存当前的URL文件名。下面是代码,可以弹出带颜色的对话框

onclick="document.execCommand('SaceAs')"
  <input   onclick="a()">  
  <script>   
  

sInitColor=null   
  
function   a()   
  
{   
  
if   (sInitColor   ==   null)   
  
var   sColor   =   document.all.dlgHelper.ChooseColorDlg();   
  
else   
  
var   sColor   =   document.all.dlgHelper.ChooseColorDlg(sInitColor);   
  sColor   
=   sColor.toString(16);   
  
if   (sColor.length   <   6)   {   
      
var   sTempString   =   "000000".substring(0,6-sColor.length);   
      sColor   
=   sTempString.concat(sColor);   
  }
   
  sColor   
=   "#"   +   sColor   
  alert(sColor)   
  }
   

  </script>  
  <OBJECT   id=dlgHelper   CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b"   width="0px"   height="0px"></OBJECT>   
 

抱歉!评论已关闭.