从服务器的文件夹中显示图像

时间:2015-03-08 19:01:07

标签: asp.net vb.net

我正在尝试从服务器的文件夹中显示图像,图像名称由查询字符串指定,查询给出te用户ID,然后来自具有用户ID的文件夹中的图像被重新表示, 现在我在imageViewer中没有任何东西,它总是空白的。 这个我正在使用的代码: -

       Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Request.QueryString("UserID") <> "" Then
        Dim UserID As String = Request.QueryString("UserID").ToString()
        Dim img As Image = Me.FindControl("ImageUser")
        img.ImageUrl = Server.MapPath("~\UserImages\" + UserID + ".png")
    End If

End Sub

我也试过这段代码: -

          Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    If Request.QueryString("UserID") <> "" Then
        Dim UserID As String = Request.QueryString("UserID").ToString()
        UserImg.ImageUrl = Server.MapPath("~\UserImages\" + UserID + ".png")
    End If

这是我的设计师档案: -

         <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="UserPhoto.aspx.vb" Inherits="IslamicPartner_web.UserPhoto" %>

       <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

         <html xmlns="http://www.w3.org/1999/xhtml">
        <head runat="server">
         <title></title>
       </head>
         <body>
 <form id="form1" runat="server">
 <div>

       <asp:Image ID="ImageUser" runat="server" Height="489px" Width="703px" />

</div>
</form>

问题出在哪里?

实际上我想在IOS应用程序的WebView中查看这个用户图像,比如Facebook     结束子

1 个答案:

答案 0 :(得分:0)

如果您在浏览器中查看呈现的HTML(通常通过“查看源代码”或类似内容),您将看到您发送的内容类似于“C:\ Inetpub \ websitename \ UserImages \ userid.png” 。这是您想要的,因为浏览器无法访问您的Web服务器的磁盘。问题是你不恰当地使用Server.MapPath。

你想要的更像是:

If System.IO.File.Exists(Server.MapPath("~\UserImages\" & UserID & ".png")) Then
    img.ImageUrl = "\UserImages\" & UserID & ".png")
Else
    img.ImageUrl = "\UserImages\UserUnknown.png"
End If