读书人

使用超链接上载txt但却直接打开了

发布时间: 2012-10-21 09:00:07 作者: rapoo

使用超链接下载txt,但却直接打开了
我现在先做一个下载的 如果是txt和图片浏览器就直接打开了 execl可以下载 求各位高手帮忙 最好js解决 不行.net也行

[解决办法]
如果直接打开,需要装在线浏览的插件的吧
[解决办法]
后台设置response的 mate-type是流
差不多这个意思
[解决办法]
You need to set value of the mime-type from text/html to object/stream.
[解决办法]
.net 不会 asp是这样的

VB code
'*************************************************'作    用:本程序的作用是直接下载文件而不是在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_nameEnd Subcall Scs_download("txt/asp.asp") '示例
[解决办法]
C# code
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设置

读书人网 >JavaScript

热点推荐