如何将文件从服务器文件夹保存到本地驱动器/客户端

本文关键字:驱动器 客户端 保存 文件夹 文件 服务器 | 更新日期: 2023-09-27 18:19:55

我在服务器上的某个文件夹中有一个格式化文件。我需要创建一些解决方案,允许用户将此文件本地保存在计算机上的驱动器上。

有人能告诉我怎么做,我应该使用什么控制吗。

如何将文件从服务器文件夹保存到本地驱动器/客户端

这将打开浏览器另存为对话框:

 protected void Page_Load(object sender, EventArgs e)
{  
    FileStream fs = File.OpenRead(Server.MapPath("~/imgName.jpg"));
    byte[] buffer = new byte[(int)fs.Length];
    fs.Read(buffer, 0, (int)fs.Length);
    fs.Close();
    SetResponse("imgName");
    HttpContext.Current.Response.BinaryWrite(buffer);
    HttpContext.Current.Response.Flush();
    HttpContext.Current.Response.Close();
}
private static void SetResponse(string fileName)
{
    string attachment = "attachment; filename=" + fileName + ".jpg";
    HttpContext.Current.Response.Clear();
    HttpContext.Current.Response.ClearHeaders();
    HttpContext.Current.Response.ClearContent();
    HttpContext.Current.Response.AddHeader("content-disposition", attachment);
    HttpContext.Current.Response.ContentType = "image/jpeg";
    HttpContext.Current.Response.AddHeader("Pragma", "public");
}

尝试使用以下权限打开FileStream:

  FileStream fs = new FileStream(Server.MapPath("~/imgName.jpg"), FileMode.Open, FileAccess.Read, FileShare.Read);

您只需要在aspx页面中放置文件的链接。

<a href="path to your file on server">some text here</a>

当用户点击此链接时,他们将获得下载对话框,使用该对话框可以将文件保存到本地系统。