【发布时间】:2011-06-26 19:01:47
【问题描述】:
我正在使用两个图像标签。一种是使用的路径是相对的,另一种是绝对的。绝对路径图像未显示。代码如下:
Expt_Image2.aspx 页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Expt_Image2.aspx.cs" Inherits="Expt_Image2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image
ID="Image1"
runat="server"
ImageUrl="~/Image/Bluehills.jpg"
Height="100"
Width="100"/>
<asp:Image
ID="Image2"
runat="server"
ImageUrl="C:\Documents and Settings\Lovey\My Documents\Visual Studio 2008\WebSites\Expt-New\Image\Sunset.jpg"
Height="100"
Width="100"/>
</div>
</form>
</body>
</html>
Expt_Image2.aspx.cs:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
public partial class Expt_Image2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string[] files = Directory.GetFiles(MapPath("~/Image/"));
Image im = new Image();
im.ImageUrl = files[1];
im.AlternateText = files[1];
form1.Controls.Add(im);
}
}
【问题讨论】:
-
如果您检查呈现的 HTML,它期望图像位于何处?这实际上是图像所在的位置吗?
-
嗨,重点是安全性,如果允许任何 web 应用程序访问除允许目录之外的系统目录 [应用程序运行的文件夹称为 root ~],那么任何代码都可以删除服务器上的任何文件、文件夹和您知道您的服务器上将托管多个网站,并且服务器系统配置不允许您访问 ~ 及其子文件夹之外的任何内容。
标签: asp.net relative-path absolute-path imageurl