문제

클래식 ASP로 작성된 사이트에 대한 의사 사용자 컨트롤을 만들었습니다. 컨트롤은 단순히 부모 페이지의 iframe 내에있는 ASP 페이지 (전체 HTML 헤더 및 본문 포함)입니다. 요점은 파일을 비동기로 업로드하기위한 AJAX와 같은 인터페이스를 만드는 것이 었습니다 (부모 페이지에는 큰 양식이 포함되어 있으며 파일을 업로드하고 동시에 나머지 양식을 제출할 필요가 없었습니다).
문제는 Iframe 페이지/사용자 컨트롤에서 상대 URL이 사용되는 많은 문제가 발생한다는 것입니다. iframe이 자식의 페이지에 따라 특정 페이지가있는 디렉토리에 따라 상대 URL베이스 위치가 변경되는 것 같습니다.

예 : 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은 일관되게 작동하지 않습니다. 양식 태그에 대한 동작 속성에있는 URL은 다른 페이지의 iframe이 아닌 단순히 페이지를로드하는 경우 작동합니다. "../controls/fileupload.asp"로 변경할 수 있으며 첫 번째 응용 프로그램 페이지에서 작동하지만 두 번째 응용 프로그램 페이지에서 작동하려면 "../"를 추가해야합니다.
vbscript가 특정 파일에 절대 URL을 찾는 방법이 있는지 궁금합니다. 나는 이것을 하드 코딩 할 수있는 파일을 포함시킨다. 다른 아이디어가 있습니까?

도움이 되었습니까?

해결책

Action = "/Controls/FileUpload.asp"와 같은 루트에서 절대 경로를 넣을 수도 있습니다.

다른 팁

당신이 아마도 찾고 있는지 확실하지 않습니다

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

유용한 코드 ~에서 토라린방금 a 다른 게시물

이 페이지 () 함수를 찾으십시오

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top