日期:2014-05-16 浏览次数:20417 次
'*************************************************
'作 用:本程序的作用是直接下载文件而不是在IE中打开,如html、txt、asp、jpg文件等
'参数说明:file_url为下载文件地址
'*************************************************
Sub Scs_download(file_url)
Dim Scs,ture_url,filename,exe_name,file_name
ture_url=server.MapPath(file_url)
file_name=Mid(ture_url,instrRev(ture_url,"\")+1)
exe_name=Mid(file_name,instrRev(file_name,".")+1)'后缀名
filename=Mid(file_name,1,instrRev(file_name,".")-1)'文件名
Set Scs=CreateObject("Adodb.Stream")
Scs.Mode=3
Scs.Type=1
Scs.Open
Scs.LoadFromFile(ture_url)
Response.ContentType="application/octet-stream"
Response.AddHeader "Content-Disposition:","Attachment;filename="&Server.UrlEncode(filename)&"."&exe_name
End Sub
call Scs_download("txt/asp.asp") '示例
------解决方案--------------------
DayBonusList.DataSource = dt;//数据源;
DayBonusList.DataBind();
HttpContext.Current.Response.Charset = "utf-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-excel";
excelname = HttpUtility.UrlEncode("Excel表格", System.Text.Encoding.UTF8);
HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment;filename=" + excelname + ".xls");
EnableViewState = false;
System.IO.StringWriter tw = new System.IO.StringWriter();//将信息写入字符串
System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(tw);//在WEB窗体页上写出一系列连续的HTML特定字符和文本。
//dt.Clear();
DayBonusList.RenderControl(hw);//将DATAGRID中的内容输出到HtmlTextWriter对象中
// 把HTML写回浏览器
Response.Write(tw.ToString());
Response.End();
------解决方案--------------------
当然,你也可以在IIS中进行配置
IIS管理器--右键--属性--MIME类型
当然,这样的话,你上传至服务器后要求服务器也做这样的配置
可以适当了解一下MIME设置