none
上传图片并在Image控件上显示图片 RRS feed

  • 问题

  • 大家好:

    用fileupload控件上传图片,点击Button控件上传,并在Image控件上显示所上传的图片。

    Button控件Click事件代码如下:

            string name = this.FileUpload1.FileName;//获取上载文件的名称
            if (name != "")
            {
                string path = Server.MapPath("~/Image/");
                this.FileUpload1.PostedFile.SaveAs(path + name);//将文件保存在相应的路径下
                this.Image1.ImageUrl = path + name;//将图片显示在Image控件上
            }

    遇到的问题:所上传的图片能够被保存到 项目根目录下 的Image文件夹下,但是Image控件没能显示出图片。

    请大家帮忙解决一下,初学,茫然若失,无从下手。

    2010年6月10日 7:17

答案

  • 你好

    根据你的描述,图片已经保存到了指定位置,那么没显示的原因应该就是ImageUrl设置的有问题,导致它没有找到,可以调试一下,找找原因。:)

    2010年6月10日 7:35
  • 建议您先根据楼上的回复看看这个 Image 的 URL 是不是设置正确了。在调试状态下,在图片画 X 的位置单击右键查看属性,即可以看到图片的 URL。

    还有一种可能性是您这段代码放的位置不对。您是放在 Click 事件的处理程序里面的,那么有没有其他处理程序在操作 this.Image1,如在 OnPreRender 中?


    Mark Zhou
    2010年6月10日 9:57
  • ~代表应用程序的根目录,路径对 了当然就能显示啊

    this.Image1.ImageUrl = "~/Image/" + name;


    【孟子E章】
    2010年6月13日 0:55
    版主
  • path + name;的写法是物理路径,不是虚拟路径,web上必须使用虚拟路径
    【孟子E章】
    • 已标记为答案 llei30 2010年6月14日 3:17
    2010年6月13日 0:56
    版主

全部回复

  • 你好

    根据你的描述,图片已经保存到了指定位置,那么没显示的原因应该就是ImageUrl设置的有问题,导致它没有找到,可以调试一下,找找原因。:)

    2010年6月10日 7:35
  • 建议您先根据楼上的回复看看这个 Image 的 URL 是不是设置正确了。在调试状态下,在图片画 X 的位置单击右键查看属性,即可以看到图片的 URL。

    还有一种可能性是您这段代码放的位置不对。您是放在 Click 事件的处理程序里面的,那么有没有其他处理程序在操作 this.Image1,如在 OnPreRender 中?


    Mark Zhou
    2010年6月10日 9:57
  • 解决了,将这句this.Image1.ImageUrl = path + name;

    改为:this.Image1.ImageUrl = "/~Image/" + name; 

    图片能显示了,但是不理解其中缘由,麻烦你为我解答,谢谢

    2010年6月12日 13:12
  • ~代表应用程序的根目录,路径对 了当然就能显示啊

    this.Image1.ImageUrl = "~/Image/" + name;


    【孟子E章】
    2010年6月13日 0:55
    版主
  • path + name;的写法是物理路径,不是虚拟路径,web上必须使用虚拟路径
    【孟子E章】
    • 已标记为答案 llei30 2010年6月14日 3:17
    2010年6月13日 0:56
    版主