我的代码是:
string filename = FileUploader.PostedFile.FileName.Substring(fuImage.PostedFile.FileName.LastIndexOf("\\") + 1);
if(fuImage.HasFile)
{
FileUploader.SaveAs(Server.MapPath("Modules/NewUserProfile/UserPic/" + filename));
imgUser.ImageUrl = Server.MapPath("Modules/NewUserProfile/UserPic/" + filename);
}
imgUser
是asp:Image
的ID。控件.Image在欲望文件夹中上传,但在图片控件中不显示图片。我在这里做错了什么?有没有回发问题。谢谢。
答案 0 :(得分:2)
使用ImageUrl属性的相对路径。
imgUser.ImageUrl = "Modules/NewUserProfile/UserPic/" + filename;
如果Modules文件夹位于web-app的根目录,则使用root operator~
imgUser.ImageUrl = "~/Modules/NewUserProfile/UserPic/" + filename;
答案 1 :(得分:2)
要运行此代码,请了解以下事项:
Server.MapPath()
用于获取物理路径,如:D:/ Img / Upload / ..
所以最好找到保存图像的路径。答案 2 :(得分:0)
我通常首先使用您的浏览器执行一个view-source来调试这样的问题,并确保HTML源代码中的URL符合您的预期。然后尝试复制显示在您的视图源中的网址,并将其粘贴到浏览器的地址栏中,然后查看它是否显示。
答案 3 :(得分:0)
我认为您应该等待图像完全上传,然后将图像路径设置为图像。
在渲染到浏览器之后,在Mozilla或Chrome Inspect Elemnt中使用FireBug,通过查看图像来检查图像是否已正确渲染。如果它坏了那么你的图像路径是错误的。尝试给出相对路径并检查。
答案 4 :(得分:0)
newpic.ImageUrl = Page.ResolveURL("~/Pictures")+filename;
Server.MapPath返回物理驱动器位置,这在您分配映像时无用。