在asp.net页面中读取数据库里的文件存放路径,提供下载功能。

在asp.net页面中读取数据库里的文件存放路径,提供下载功能。数据库里存放的路径是一个绝对路径。有需要提供资料的可以说。... 在asp.net页面中读取数据库里的文件存放路径,提供下载功能。数据库里存放的路径是一个绝对路径。 有需要提供资料的可以说。 展开
 我来答
没排名排名C2
2013-05-12 · TA获得超过275个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:174万
展开全部

嗯文下载很重要呀,最近两天都看见了,首先先占时间稍后补上一切。。。

呵呵经过不懈的努力终于搞定了。。。。不多说了代码如下:

 FileInofr类

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.IO;
/// <summary>
/// FileInofr 的摘要说明
/// </summary>
public class FileInofr
{
    public static bool DownLoadFile(string url)
    {
        var flag = false;
        try
        {
            var filePath = HttpContext.Current.Server.MapPath(url);     //获取文件的路径
            var file = new FileInfo(filePath);  //得到文件
            if (file.Exists)        //判断文件是否存在
            {
                HttpContext.Current.Response.Clear();       //清空Response对象
                /*设置浏览器请求头信息*/
                HttpContext.Current.Response.AddHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(file.Name));  //指定文件
                HttpContext.Current.Response.AddHeader("Content-Length",file.Length.ToString());    //指定文件大小
                HttpContext.Current.Response.ContentType = "application/application/octet-stream";  //指定输出方式
                HttpContext.Current.Response.WriteFile(file.FullName);      //写出文件
                HttpContext.Current.Response.End();         //结束Response对象
                HttpContext.Current.Response.Flush();       //输出缓冲区(刷新Response对象)
                HttpContext.Current.Response.Clear();       //清空Response对象
                                                                        
                flag = true;
            }
            else
            {
                flag = false;
            }
        }
        catch (Exception)
        {
            flag = false;
        }
        return flag;
    }
}

在页面中的使用:

DownLoadFile.aspx页面中的.cs代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class DownLoadFile : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {   /*在这里,我只测试两个文件*/
            //var path = "UpLoadFiles/" + "test.cs";
            var path = "UpLoadFiles"+"Contracts.devlab9ts.msi";     //这里不能使用物理路径
            FileInofr.DownLoadFile(path);
        }
    }
}


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式