令人沮丧的文件路径错误

时间:2014-05-27 15:59:23

标签: asp.net filepath directory

我的文件路径有点问题,我无法弄清楚它是什么。

我正在为一家公司开发一个新网站 - 所以我已经雇用了一个与托管公司的URL来开发该网站。问题是公司服务器页面上的代码中的文件路径与我租用的服务器上的文件路径不同。

在公司服务器中,在根文件夹中,有3个文件夹,其中一个(htdocs)位于index.asp页面和所有相应的文件夹中。

但是,在我的租用服务器的根文件夹中,它有index.asp和所有相应的文件夹 - 没有'htdocs'文件夹。

现在所有代码都是100%正确的 - 它只是阻止网站工作的文件路径。 我的问题是让视频正常工作。

在索引页面上:

<div class="panel">
<a href="../artistVideo/recent.asp?clipid=105" class="lytebox" 
 data-title="" data-lyte-options="width:600 height:460 scrollbars:no">
...(some meta data)</a>
</div>

在'clipid = 105'.xml文件中(在'artistVideo'文件夹中):

<?xml version="1.0" encoding="utf-8"?>

<gallery>  

<album title="Blah Blah" description="More Blah">
<img src="../artistSoundClips/ARTIST/THE_MOVIE.flv"  
     title="Even more Blah" target="_parent"/>    
</album>
</gallery>

在recent.asp文件中,该文件包含一个视频对象(在'artistVideo'文件夹中):

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/...." 
width="570" height="445" align="middle">
<param name="movie" value="../flash/recentwork.swf">
<param name="quality" value="high">
<param name="wmode" value="opaque">
<param name="allowFullScreen" value="true" />
<param name="FlashVars" value="xmlFilePath=<% Response.Write (videoid) %>.xml&xmlFileType=Default" />
<embed src="../flash/recentwork.swf" width="570" height="440" 
align="middle" allowFullScreen="true" 
FlashVars="xmlFilePath=<% Response.Write (videoid) %>.xml&xmlFileType=Default" 
quality="high" wmode="opaque" pluginspage="http://www.adobe.com/shockwave/download/download.cgi? P1_Prod_Version=ShockwaveFlash" 
type="application/x-shockwave-flash">
</embed>
</object>

所以这里发生的事情是当单击面板时,代码会查找recent.asp,它引用105.xml文件并输出视频。

这段代码取自公司服务器上的asp页面,而且代码在租用服务器上的文件中都是一样的,但就像我说我的文件路径错误 - 当我取出指数上的../时页面和105.xml页面,我收到错误消息:

获取http://www.mydevelopersite.co.uk/flash/recentwork.swf 404(未找到)(recent.asp?clipid = 105:1)

获取http://www.mydevelopersite.co.uk/flash/recentwork.swf 404(未找到)(recent.asp?clipid = 105:1)

所以回顾一下 - 在我的服务器上没有'htdocs'文件夹,因此我的所有文件和文件夹都与公司服务器上的文件和文件夹保持一致。我试过从:

取出../
<embed src="../flash/recentwork.swf" width="570"/>

它解决了错误: 获取http://www.mydevelopersite.co.uk/artistVideo/flash/recentwork.swf 404(未找到)

如上所述,代码是100%正确的,没有必要更改它,它只是文件路径指向的位置,与文件和文件夹在雇佣服务器上的位置有关。请问有人可以指出我可能会出错的地方吗?!

谢谢!

1 个答案:

答案 0 :(得分:1)

在控制路径中使用tilda(〜)运算符并添加runat =&#34; Server&#34;属性。

ASP.NET Web Project Paths

例如,要以这种方式正确解析图像路径,您可以更改:

<img src="../Images/SampleImage.jpg" />

为:

<img src="~/Images/SampleImage.jpg" ID="myImage" runat="server" />