0

既にデータベースからデータにアクセスし、テキスト ボックスにいくつかの情報を表示しましたが、ファイル パスから画像を表示するにはどうすればよいですか?

aspx:

<asp:Image ID="PlaceEventImage" runat="server" Height="120px" Width="217px" />

aspx.vb:

            Dim placeName As String = CType(Session.Item("Place"), String)
            Dim address1 As String = CType(Session.Item("Address1"), String)
            Dim countyID As Integer = CType(Session.Item("CountyID"), Integer)

            Dim aConnection4 As New OleDbConnection
            Dim aDataAdapter5 As OleDbDataAdapter
            Dim ds1 As New DataSet
            Dim aCommand5 As OleDbCommand
            Dim Sql5 As String
            aConnection4.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("App_Data/MyLocalWebsite.mdb")
            Sql5 = "SELECT PlaceName, Address1, Address2, PlaceData.CountyID, PlaceCategoryID, Image, CountyData.CountyID, County FROM PlaceData INNER JOIN CountyData ON (CountyData.CountyID = PlaceData.CountyID) WHERE PlaceName = '" & placeName & "' AND Address1 = '" & address1 & "' ORDER BY PlaceName"
            aCommand5 = New OleDbCommand(Sql5, aConnection4)

            aConnection4.Open()

            aDataAdapter5 = New OleDbDataAdapter(Sql5, aConnection4)
            aDataAdapter5.Fill(ds1, "PlaceInfo")

            aConnection4.Close()

            Dim imageUrl As String = ds1.Tables("PlaceInfo").Rows(0).Item(5)

            PlaceEventName.Text = ds1.Tables("PlaceInfo").Rows(0).Item(0)
            Address1Label.Text = ds1.Tables("PlaceInfo").Rows(0).Item(1)
            Address2Label.Text = ds1.Tables("PlaceInfo").Rows(0).Item(2)
            CountyLabel.Text = ds1.Tables("PlaceInfo").Rows(0).Item(7)

最終的には機能しました。以下は機能したソリューションです。画像は完全なファイル パスとしてデータベースに保存されましたが、画像はサーバーにアップロードされたため、サーバーへのパスを変更する必要がありました。

Dim imageUrl As String = ds1.Tables("PlaceInfo").Rows(0).Item(5)
Dim found As Integer = imageUrl.LastIndexOf("\")
Dim filename As String = imageUrl.Substring(found)
Dim newFilename As String = filename.Replace("\", "/")
PlaceEventImage.ImageUrl = "~/Uploads" + newFilename
4

0 に答える 0