头像可以上传,把路径存到数据库了,用FileUpload的做的,当点上传时,Image控件不显示图片更改,我查了下,在磁盘的文件夹中有图,可在vs解决方案中没有,这个路径该怎么写

解决方案 »

  1.   

     protected void btnUp_Click1(object sender, EventArgs e)
            {
                string ID = lblsid.Text.ToString();
                string path = Server.MapPath("~/ImageHeader/");
                bool fileIsValid = false;
                //如果确认了上传文件,则判断文件类型是否符合要求
                if (this.FileUpload1.HasFile)
                {
                    //获取上传文件的后缀
                    String fileExtension = System.IO.Path.GetExtension(this.FileUpload1.FileName).ToLower();
                    String[] restrictExtension = { ".gif", ".jpg", ".bmp", ".png" };
                    //判断文件类型是否符合要求
                    for (int i = 0; i < restrictExtension.Length; i++)
                    {
                        if (fileExtension == restrictExtension[i])
                        {
                            fileIsValid = true;
                        }                }
                    //如果文件类型符合要求,调用SaveAs方法实现上传,并显示相关信息
                    if (fileIsValid == true)
                    {
                        try
                        {
                            fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower();
                            FileUpload1.PostedFile.SaveAs(path + ID + fileExtension);
                            Image1.ImageUrl = "~/ImageHeader/" + ID + fileExtension;
                        }
                        catch
                        {
                            Response.Write("<script>alert('文件上传不成功!')</script>");
                        }
                        finally
                        {
                        }
                    }
                    else
                    {
                        Response.Write("<script>alert('只能够上传后缀为.gif,.jpg,.bmp,.png的文件夹!')</script>");
                    }
                }
            }
      

  2.   

    你的意思是实际图片上传了,Image控件没显示出来。
    你运行页面,在运行的页面查看源文件,可能看Image解析成什么了。然后吧ID复制,在JS中这样写:
    <script type="text/javascript">
        function show(FileUpload)
        {
            document.getElementById("复制的ID").src=FileUpload.value;
        }</script>
      

  3.   

    还有一种情况是Image 用同一个文件名重新上传的话在显示上不会更新的(cache)的问题,查过了,也没有什么好的办法解决。页面重定向解决不好。只有在IE中点刷新才行,很怪的一种问题。
      

  4.   

    不好意思,说掉了一点。我单独运行这个页面没有问题,Image可以显示我上传的图片,当我把它嵌套在iframe中就不行了
      

  5.   

    iFrame 图片控制