我有一个相当简单的任务,从我的ASP.Net Web应用程序之外的虚拟文件夹中检索图像文件(虚拟文件夹位于网站的根目录中),然后将其显示在图像控件中。我能够访问网站内的虚拟文件夹。这是我的代码
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim sourcefile As String = Server.MapPath("~/Common/Images/LAPDPatch.jpg")
Image1.ImageUrl = sourcefile
End Sub
我做错了什么?
好的,我能够弄清楚:
好的,我能够让它工作,我使用的是错误的“斜线”字符,我使用正斜杠而不是反斜杠:
Dim sourcefile As String = Server.MapPath("\VitualFolderName\") & "Images\LAPDPatch.jpg"
感谢所有回复的人!
答案 0 :(得分:3)
使用ResolveUrl
:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'root of currently running app, virtual or not
Dim sourcefile As String = Page.ResolveUrl("~/Common/Images/LAPDPatch.jpg")
'root of site
'Dim sourcefile As String = "/Common/Images/LAPDPatch.jpg"
'root of another site
'Dim sourcefile As String = "/VirtualDir/Common/Images/LAPDPatch.jpg"
Image1.ImageUrl = sourcefile
End Sub
答案 1 :(得分:0)
确保运行Web应用程序的用户(可能是iis7下的“iis appPool \ default appPool”)可以访问该文件夹,它可能只是一个ntfs权限。