2

我正在尝试使用asp:FileUpload.

单击按钮时出现此错误:

SaveAs 方法配置为需要有根路径,并且路径“localhost:49256/bilder”没有根。

这是我背后的代码:

protected void ladda_Click(object sender, EventArgs e)
{
    string filename = filuppladdare.FileName;
    string description = desc.Text;

    if (filuppladdare.HasFile)
    {
        filuppladdare.PostedFile.SaveAs(\localhost:21212\pictures");
    }
}

我只猜到了路径。应该是什么?或者我如何得到它?

4

5 回答 5

4

使用MapPath方法获取文件夹的物理路径:

filuppladdare.PostedFile.SaveAs(Server.MapPath("~/pictures"));

路径中的~代表应用程序根。

于 2012-04-18T08:07:33.550 回答
2

使用的路径是指服务器上的物理路径(或另一个可访问的 FS 路径),而不是您网站的 url。

如果你想从你应该使用的 url 获取物理路径Server.MapPath(yourUrl)

于 2012-04-18T08:08:37.903 回答
0

试试这个

filuppladdare.PostedFile.SaveAs("~/Project name/.../pictures");
于 2012-04-18T08:09:40.850 回答
0

获取当前路径有多种方法,此链接向您展示如何使用 HttpContext 中的各种属性来查找路径:

在您的示例中,您可以使用以下内容:

filuppladdare.PostedFile.SaveAs("~\pictures");

~告诉它从应用程序的根目录开始。

您也可以使用Server.MapPath

于 2012-04-18T08:11:24.483 回答
0

一种选择是使用服务器 MapPath,然后检查文件夹权限可能会有所帮助

于 2012-04-18T08:12:58.680 回答