微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Web服务器上强制下载文件 – ASP .NET C#

用户单击基于ASP.NET(C#)的Web应用程序中的按钮时,我需要强制下载.sql文件

当在按钮被点击时,保存为对话框应该在客户端打开…

我该如何做?

编辑

这是我正在使用的代码

string sql = "";
        using (System.IO.StreamReader rdr = System.IO.File.OpenText(fileName))
        {
            sql = rdr.ReadToEnd();
        }
        Response.ContentType = "text/plain";
        response.addheader("Content-disposition","attachment; filename=Backup.sql");
        Response.Write(sql);
        Response.End();

这是我正在收到的错误

alt text http://img40.imageshack.us/img40/2103/erroro.gif

怎么了?

解决方法

创建一个单独的HTTP处理程序(DownloadsqlFile.ashx):
<%@ WebHandler Language="C#" Class="DownloadHandler" %>

using System;
using System.Web;

public class DownloadHandler : IHttpHandler {
    public void ProcessRequest(HttpContext context) {
        var fileName = "myfile.sql";
        var r = context.Response;
        r.AddHeader("Content-disposition","attachment; filename=" + fileName);
        r.ContentType = "text/plain";
        r.WriteFile(context.Server.MapPath(fileName));
    }
    public bool IsReusable { get { return false; } }
}

然后使ASP.NET页面中的按钮导航到DownloadsqlFile.ashx。

原文地址:https://www.jb51.cc/html/233409.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐