2011-12-23 11 views
3

私はASP.Net Webアプリケーション(仮想フォルダはWebサイトのルートにあります)の外にある仮想フォルダから画像ファイルを取得し、それを表示しますイメージコントロール。私は、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 

私は間違って何ですか?

[OK]を、私はそれを把握することができた:[OK]を

ソリューション

を、私はスラッシュを使用して代わりにして、間違った「スラッシュ」の文字を使用していた、それが働いて得ることができましたバックスラッシュ:

Dim sourcefile As String = Server.MapPath("\VitualFolderName\") & "Images\LAPDPatch.jpg" 

すべての方に感謝します!

答えて

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 
+0

ありがとうございます、これはあなたのコードが生成しているURLです "C:\ inetpub \ wwwroot \ MyWebSite \ VirtualFolderName \ Images \ LAPDPatch.jpg" –

+0

最初にやろうとしていたことを知らなかった。 –

+0

リックありがとうございました。上記のコードは、仮想フォルダがWebサイトのサブフォルダである場合に正常に動作します。私がしたいのは、IIS Serverのルートにある仮想フォルダにアクセスすることです。 –

0

そのフォルダへのアクセス権を持っている(多分IIS7の下に「APPPOOL \既定のAppPoolをIIS」)などのWebアプリケーションが実行されているユーザーは、それだけではNTFSであるかもしれないことを確認します権限のもの。

+0

ありがとう、私は間違ったスラッシュ私の元の記事を参照して使用していた。 –