从虚拟文件夹中检索文件

时间:2011-12-23 01:15:11

标签: asp.net vb.net

我有一个相当简单的任务,从我的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"

感谢所有回复的人!

2 个答案:

答案 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权限。