经典Asp如何将生成的HTML保存到服务器上的文本文件中?

时间:2015-04-24 17:40:32

标签: javascript html asp-classic

有没有办法将当前页面的HTML内容保存到服务器上的文本文件中?

方案: 我有一个生成HTML(报表和内容)的经典ASP页面,在生成整个页面之后,我想将它的HTML代码保存到服务器上的文件中,以便稍后阅读。

1 个答案:

答案 0 :(得分:1)

通过 f.write 替换 response.write ,您可以将文件保存在服务器上,而不是将文件发送到浏览器,其中 f 是createTextFile对象:

<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject") 
set f=fs.CreateTextFile("c:\test.txt",true)
f.write("Your current html and asp codes goes here considering syntax which connects html strings and asp codes in classic asp")
f.close
set f=nothing
set fs=nothing
%>

如果您想通过人工操作将当前页面保存到服务器中,您可以使用(javascript)jquery获取整个html内容并将其发送到ASP文件以将其保存在文件中。所以你必须添加一个javascript函数和一个发送内容的表单:

    <html>
    <!--your entire page is here-->
    </html>

    <!--You should add these extra code at the end of html file:-->
    <a onclick="submitform();">Save the page by clicking here</a>

    <form id="myform" action="savefile.asp" method="post">
    <textarea name="body"></textarea>
    </form>

    <script type="text/javascript">
    // assuming you have included jquery in your project:
    function getPageHTML() {
      return "<html>" + $("html").html() + "</html>" // You can also add doctype or other content out of html tags as you need;
    }

    function submitform(){
    var content=getPageHTML();
    $("#mytextarea").val(content);
    $("#myform").submit()
    }
    </script>

这将是asp页面命名的来源 savefile.asp

<%
dim fs,f
set fs=Server.CreateObject("Scripting.FileSystemObject") 
set f=fs.CreateTextFile (server.mapath("test.txt"),true)
dim body
body=request.form("body")
body=replace(body,chr(34),chr(34)&chr(34)) 'To escpase double quotes
f.write (body)
f.close
set f=nothing
set fs=nothing
%>