使用vbscript/classic asp
确定资源的绝对URL我已经为使用传统asp编写的站点创建了伪用户控件。该控件只是一个驻留在父页面的iframe中的asp页面(具有完整的HTML标题和正文)。关键是创建一个类似于AJAX的界面来异步上传文件(父页面包含一个大表单,我不想同时上传文件和提交表单的其余部分)。
问题是,我遇到了很多有关在iframe页面/用户控件中使用相关url的问题。根据什么页面的iframe是一个孩子,相对URL基地的位置似乎根据特定的页面在目录改变使用vbscript/classic asp
例: www.website.com/directory1/application1.asp
...
<form>
<input>
...
<iframe src="../controls/FileUpload.asp"/>
...
</form>
...
www.website.com/directory1/directory2/application2.asp
...
<form>
<input>
...
<iframe src="../../controls/FileUpload.asp"/>
...
</form>
...
www.website.com/controls/FileUpload.asp
...
<form method="post" enctype="multipart/form-data" action="FileUpload.asp"><!--problem here-->
<input type="file">
<input type="submit"/>
</form>
iframe src路径正常工作(请注意,埋在目录中的路径有更多的双点)。但是在FileUpload.asp页面的代码中,相对URL并不一致。如果您只是按原样加载页面,而不是在另一页面的iframe中,则表单标记的action属性中的URL有效。您可以将其更改为“../controls/FileUpload.asp”,它将在第一个应用程序页面上工作,但您必须添加另一个“../”才能在第二个应用程序页面上工作。
我想知道如果可能有一种方式与VBScript找到某个文件的绝对URL。我确实使用了一个包含文件,我可以对其进行硬编码,但是如果可能的话,我宁愿不要。任何其他想法?
你也可以只需从根目录中输入绝对路径,如 action =“/ controls/FileUpload.asp”
我不知道,如果你也许从Thorarin ,我只是在一个different post
查找ThisPage看到寻找
<%
Response.Write Server.MapPath("./foo.txt")
%>
不,这只能给我文件系统中文件的绝对路径。我需要一个URL(即我需要'www.website.com/controls/FileUpload.asp'不是'c:\ inetpub \ wwwroot \ website \ controls \ FileUpload.asp') – rdevitt 2009-07-09 18:30:08
是的。而已。我真的很愚蠢。 – rdevitt 2009-07-09 19:26:55