簡體   English   中英

如何將文件從服務器文件夾保存到本地驅動器/客戶端?

[英]How save file from server folder to local drive/client side?

我在服務器上的某個文件夾中有一個已形成文件。 我需要創建一些解決方案,以允許用戶將此文件本地保存在計算機的驅動器上。

誰能建議我該怎么做,應該使用什么控件。

這將打開“瀏覽器另存為”對話框:

 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>

當用戶單擊此鏈接時,他們將獲得下載對話框,通過該對話框可以將文件保存到本地系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM