在根目录之外移动页面时,为什么链接不起作用?

时间:2010-09-05 21:26:59

标签: asp.net vb.net path root

我的网站位于根目录,即/www.lebmotor.com/web/content/

我正在使用它:

Dim appPath As String = HttpContext.Current.Request.ApplicationPath  
Dim directory As String = appPath & "/upload/" & Left(TableName, 2) & "/"  

获得路径并且它运行良好。

但是当我创建一个新的子文件夹并将一些页面从根目录复制到子文件夹时,我的图像不会显示,因为路径已经改变。

这是根目录中页面的链接:

  

http://www.lebmotor.com/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

这是子文件夹中页面的链接:

  

http://www.lebmotor.com/ar/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

那么如何在子文件夹中创建链接:

  

http://www.lebmotor.com/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM


让我解释一下这个问题。首先,我有两个目录,并且它们都被设置为应用程序目录,如下图所示:

/ar子文件夹是一个应用程序,它是Content目录中原始文件夹的副本。

ar/App_code中有一个名为MGImages.vp的课程,当然它是Content/App_code中原始课程的副本。该课程的工作是显示Upload子文件夹中的照片。

这是保存照片路径的代码:

Dim appPath As String = HttpContext.Current.Request.ApplicationPath  
Dim directory As String = appPath & "/upload/" & Left(TableName, 2) & "/"  
If ImageType.ToUpper = "TN" Then  
    directory += "TN/"  
ElseIf ImageType.ToUpper = "LG" Then  
    directory += "LG/"  
Else  
    directory += "OT/"  
End If  

这个类在Content目录中运行良好,因为这将为我提供正确的路径:

  

http://www.lebmotor.com/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

所有照片都应保存在两个目录Content/Upload

Content/ar文件夹中

但是在ar目录中它会给我错误的路径:

  

http://www.lebmotor.com/ar/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

目标是制作这样的路径:

  

http://www.lebmotor.com/upload/VE/TN/6/VEListing-66-Photo1.jpg?ts=9/4/2010%201:45:17%20AM

我希望它显示Content/upload的照片,而不是content/ar/upload的照片。

1 个答案:

答案 0 :(得分:0)

首次构建图像​​路径时,可以删除ar路径:

Dim directory As String = appPath & "/upload/" & Left(TableName, 2) & "/" 
directory = directory.Replace("/ar/", "")