使用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”

+0

是的。而已。我真的很愚蠢。 – rdevitt 2009-07-09 19:26:55

我不知道,如果你也许从Thorarin ,我只是在一个different post

查找ThisPage看到寻找

<% 
Response.Write Server.MapPath("./foo.txt") 
%> 

Some usefull code()函数

+0

不,这只能给我文件系统中文件的绝对路径。我需要一个URL(即我需要'www.website.com/controls/FileUpload.asp'不是'c:\ inetpub \ wwwroot \ website \ controls \ FileUpload.asp') – rdevitt 2009-07-09 18:30:08