ASP .Net C# - 下载后获取文件位置

时间:2015-02-13 10:13:47

标签: c# asp.net file location

我目前正在开发一个简单的程序(使用ASP.Net C#)将GridView中的数据填充到Excel文件中。 Excel文件将需要下载到客户端计算机。

由于某些原因,我需要在下载到客户端本地计算机后快速操作Excel文件。

问题是我无法获取下载文件的文件位置。 如何在下载到客户端计算机后获取文件位置?

这是截图:

enter image description here

下载代码:

private void Create_ExcelContent2()
{
    Response.Clear();
    Response.Buffer = true;
    Response.AddHeader("content-disposition", "attachment;filename=" + ddlBatchID.Text + ".xls");
    Response.Charset = "";
    Response.ContentType = "application/vnd.ms-excel";
    using (StringWriter sw = new StringWriter())
    {
        HtmlTextWriter hw = new HtmlTextWriter(sw); ...
        gvBatchSummary.RenderControl(hw);
        string style = @"<style> .textmode { } </style>";
        Response.Write(style);
        Response.Output.Write(sw.ToString());
        Response.Flush();
        Response.End();
    }
}

2 个答案:

答案 0 :(得分:1)

对此的简短回答是你不能这样做。一旦文件在本地机器服务器端,代码就无法用来操纵它。如果你可能的安全影响将是一个雷区。

答案 1 :(得分:0)

为什么不尝试以下

string folderPath = string.Empty;

using (FolderBrowserDialog fdb = new FolderBrowserDialog()) {
  if (fdb.ShowDialog() == DialogResult.OK ){
    folderPath = fdb.SelectedPath;
  }
}
抱歉,我没见过@fubo,

修改

如果您想要该目录路径,那么为什么不将它保存到带前缀的本地系统路径,然后从那里读取并操作它。