我的代码有什么问题?
protected void Button1_Click(object sender, EventArgs e)
{
string stream = FileUpload1.FileName;
string sub = stream.Substring(stream.LastIndexOf(".")+1);
if(FileUpload1.HasFile)
{
if (sub == "jpg" || sub == "jpeg" || sub == "png")
{
string path = Server.MapPath("./Image/" + stream);
FileUpload1.SaveAs(path);
Image1.ImageUrl = path;
Image1.DataBind();
}
else
{
Response.Write("Please insert valid Image");
}
}
}
答案 0 :(得分:0)
删除路径字符串开头的那个点(。)。
像这样:
string path = Server.MapPath("/Image/" + stream);
还要确保路径正确并且文件已上传。如果需要,您可以尝试使用相对URL。
希望这有帮助。
答案 1 :(得分:0)
替换这个:
Image1.ImageUrl = path;
以下内容:
Image1.ImageUrl = string.Format("{0}://{1}/Image/{2}",
HttpContext.Current.Request.Url.Scheme,
HttpContext.Current.Request.Url.Authority, stream);
答案 2 :(得分:0)
将ImageUrl更改为互联网网址而非物理路径。
Image1.ImageUrl = "/Image/" + stream; //path;
//Image1.DataBind(); <-- remove it
P.S。
您还可以使用System.IO.Path.GetExtension(stream)
获取扩展名,例如“.jpg”(其中带有前导点)。