如何使用FileUpload在Image Control中显示图像?

时间:2010-01-16 12:18:06

标签: asp.net

我只需按一下按钮即可调用此功能。  我也想知道在哪个FileUpload事件中我可以调用这个函数。

 Function upload() As Boolean
        Dim img As FileUpload = CType(imgUpload, FileUpload)
        imgByte = Nothing
        If img.HasFile AndAlso Not img.PostedFile Is Nothing Then
            Dim File As HttpPostedFile = imgUpload.PostedFile
            imgByte = New Byte(File.ContentLength - 1) {}
            File.InputStream.Read(imgByte, 0, File.ContentLength)
        End If
        Dim strImagePath As String = imgUpload.FileName
        imgUpload.PostedFile.SaveAs(Server.MapPath("..\Temporary\" + strImagePath))
        imgLogo.ImageUrl = Server.MapPath("..\Temporary\" + strImagePath)
        imgLogo.DataBind()
    End Function

即使在设置了网址后,图像也没有显示。我确信在服务器上创建了图像文件,并且指定的路径是正确的。

3 个答案:

答案 0 :(得分:1)

imgLogo.ImageUrl = Server.MapPath("..\Temporary\" + strImagePath)

此声明将呈现为类似于以下内容:

<img src="c:\...\sitelocationparent\Temporary\imagename.jpg" />

这不是应用程序应该为图像文件提供服务的方式。

它应该是这样的(取决于aspx文件的路径在哪里):

imgLogo.ImageUrl = "../Temporary/" & imgUpload.FileName

答案 1 :(得分:0)

尝试使用相对路径,根据需要从浏览器中读取图片:

imgLogo.ImageUrl = "../Temporary/" + strImagePath

答案 2 :(得分:0)

请试试这个:

imgUpload.PostedFile.SaveAs(Server.MapPath("~/Temporary/") + strImagePath))

imgLogo.ImageUrl=("~/Temporary/+ strImagePath)

它的工作!