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

解决方案 »

  1.   

    后台设置response的 mate-type是流
    差不多这个意思
      

  2.   

    You need to set value of the mime-type from text/html to object/stream.
      

  3.   

    .net 不会 asp是这样的'*************************************************
    '作    用:本程序的作用是直接下载文件而不是在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 Subcall Scs_download("txt/asp.asp") '示例
      

  4.   

    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();
      

  5.   

    当然,你也可以在IIS中进行配置
    IIS管理器--右键--属性--MIME类型
    当然,这样的话,你上传至服务器后要求服务器也做这样的配置可以适当了解一下MIME设置