为什么从服务器下载文件失败

时间:2015-01-12 16:11:54

标签: c# asp.net

我在VS2012中设置了一个网站项目,并在项目中创建了一个文件夹FileStore。我创建了一个指向项目文件夹的IIS站点。

我有一个保存在FileStore文件夹中的文件,我想让用户从网络中的任何地方下载。

结构:project folder\FileStore\myFile.dat

我在project folder\有一个ASP.net页面,我有一个按钮可以下载myFile.dat文件:

<asp:Button ID="Button3" runat="server" Text="Download File" OnClick="Button3_Click" Width="146px" Height="26px"  />

C#:

protected void Button3_Click(object sender, EventArgs e)
{

    // Download File Button after SP SSIS Job places it in the MLINT\files\ folder.
    if (File.Exists("FileStore\\myFile.DAT")) {
        Response.ContentType = "data/dat";
        Response.AppendHeader("Content-Disposition", "attachment; filename=myFile.DAT");
        Response.TransmitFile("FileStore\\myFile.DAT");
        Response.End();
    }
    else
    {
        lblMessage.Text = "File doesn't exist in the system.";
        lblMessage.CssClass = "fontRed";
    }
}

我一直收到File doesn't exist in the system.消息。

如何解决问题。

1 个答案:

答案 0 :(得分:3)

您需要将路径映射到Web服务器使用的路径

string actualPath = Server.MapPath("~\\FileStore\\myFile.DAT");
if (File.Exists(actualPath))