我正在尝试使用asp:FileUpload
将图片上传到文件夹(位于我的项目文件夹中)。
单击按钮时出现此错误:
SaveAs方法配置为需要root路径,路径'localhost:49256 / bilder'不是root。
这是我背后的代码:
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");
}
}
我只猜到了路径。它应该是什么?或者我如何得到它?
答案 0 :(得分:4)
使用MapPath
方法获取文件夹的物理路径:
filuppladdare.PostedFile.SaveAs(Server.MapPath("~/pictures"));
路径中的~
表示应用程序根目录。
答案 1 :(得分:2)
使用路径是指服务器(或其他可访问的FS路径)中的physical path,而不是您网站的网址。
如果您想从网址获取物理路径,请使用Server.MapPath(yourUrl)
答案 2 :(得分:0)
试试这个
filuppladdare.PostedFile.SaveAs("~/Project name/.../pictures");
答案 3 :(得分:0)
有多种方法可以获取当前路径,this link向您展示了如何使用HttpContext中的各种属性来查找路径:
在您的示例中,您可以使用以下内容:filuppladdare.PostedFile.SaveAs("~\pictures");
~
告诉它从应用程序的根目录开始。
您也可以使用Server.MapPath
答案 4 :(得分:0)
一个选项是使用Server MapPath,第二个检查文件夹权限可能是有帮助的