从虚拟目录访问映像文件

时间:2011-12-24 01:43:49

标签: asp.net vb.net image webforms

我正在尝试从我网站内的虚拟目录中显示图像。如果我使用下面的代码,图像将显示在页面上:

Dim sourcefile As String = Server.MapPath("~/Common/Images/Flag.jpg")
Response.WriteFile(sourcefile)
Response.ContentType = "image/jpg"

但是如果我尝试在Image控件中显示图像,则使用以下代码不会显示图像:

Dim sourcefile As String = Server.MapPath("~/Common/Images/Flag.jpg")
Image1.ImageUrl = sourcefile

这是HTML / ASP代码:

    <div id="contentQE">
        <fieldset>
            <span class="graytitle">The Flag Image
                 <asp:Image ID="Image1" runat="server" />
            </span>
        </fieldset>
    </div>

我做错了什么?

3 个答案:

答案 0 :(得分:1)

Server.MapPath将获取该文件的物理路径,这将无助于用户从浏览器访问该站点。

我们通常会这样做:

Dim sourcefile As String = Request.ApplicationPath & "/Common/Images/Flag.jpg"

答案 1 :(得分:1)

使用Image控件中的bind方法,我还没有测试过,但我认为它有效。

Dim sourcefile As String = Server.MapPath(“〜/ Common / Images / Flag.jpg”)

Image1.ImageUrl = sourcefile

Image1.Bind()

答案 2 :(得分:0)