我正在使用文件上传控件,这是我的代码:
//Uploading the image
if (imageUpload.HasFile)
{
try
{
if (imageUpload.PostedFile.ContentType == "image/jpeg")
{
if (imageUpload.PostedFile.ContentLength < 102400)
{
string im = ( "~/User" + "/" + Page.User.Identity.Name + "/" + Page.User.Identity.Name + ".jpeg");
imageUpload.SaveAs(im);
uploadLabel.Text = "";
}
else
{
uploadLabel.Text = "File size must be less than 1024 kb";
}
}
else
{
uploadLabel.Text = "File must be in jpeg/jpg format";
}
}
catch(Exception ex)
{
uploadLabel.Text = "File upload failed becuase: " + ex.Message;
}
}
但我得到一个错误: SaveAs方法配置为需要根路径,路径“path”不是root。
我在做错了什么。 感谢答案 0 :(得分:1)
SaveAs()
需要绝对路径。
尝试使用Request.PhysicalApplicationPath + "\\User"
答案 1 :(得分:1)
Save
方法配置为需要绝对路径(在某些驱动器中以X:\...
开头)。
您应该致电Server.MapPath
以获取磁盘上的绝对路径~/whatever
。
答案 2 :(得分:0)
添加您声明im的Server.MapPath Server.MapPath为您提供绝对路径。
string im = Server.MapPath("/User") + "/" + Page.User.Identity.Name + "/" + Page.User.Identity.Name + ".jpeg";
答案 3 :(得分:0)
string filename = FileUpload1.FileName.ToString();
if (filename != "")
{
ImageName = FileUpload1.FileName.ToString();
ImagePath = Server.MapPath("Images");
SaveLocation = ImagePath + "\\" + ImageName;
SaveLocation1 = "~/Image/" + ImageName;
sl1 = "Images/" + ImageName;
FileUpload1.PostedFile.SaveAs(SaveLocation);
}
试试这可能有助于...... [/ p>