【问题标题】:Classic ASP: posting with content of PDF file to a .NET page经典 ASP:将 PDF 文件的内容发布到 .NET 页面
【发布时间】:2009-03-31 01:19:30
【问题描述】:

所以问题是一半的应用程序是用经典的 asp 编写的,一半是用 asp.net 编写的。有一个由经典的 asp 代码生成的 PDF 文件(在内存中),我需要与 .NET 一半共享。我想将 PDF 保存到 FS 或 DB,我很确定你们中的大多数人不会推荐,因为它需要经历一个非常缓慢的保存到 IO 的过程,然后我需要在之后手动清理——不必要地造成更多的瓶颈和故障点。

我想通过使用 Server.Transfer 或 Microsoft.XMLHTTP 对象来模仿从经典 asp 页面到 .NET 的帖子,但两者都不完全适合这种情况,因为我确实希望客户端的 URL 指向.NET aspx 页面。那么有没有一种简单的方法来制作从经典 ASP 到嵌入 PDF 文件的 .NET 页面的 POST?

提前感谢任何 cmets 或建议。

【问题讨论】:

    标签: asp.net asp-classic form-post


    【解决方案1】:

    有点骇人听闻,但是...

    在经典 ASP 中创建一个表单,其中包含一个使用 PDF 文件中的数据填充的字段。表单的操作将是 ASP.NET 页面。比如:

    <body onload="pdfsenderform.submit()">
        <form name="pdfsenderform" action="pdf.aspx" method="post">
           <input type="hidden" name="pdffiledata" value="<%...output your PDF data here...%>" />
       </form>
    </body>
    

    在将二进制 PDF 数据写入表单域(Base64 或其他)之前,您可能需要对其进行编码。

    【讨论】:

    • 我最终这样做了。它需要一些额外的带宽,但维护问题最少。
    • 哎呀...所以,不是写入磁盘,而是将其往返传输到客户端?我想不出很多场景会更快......
    【解决方案2】:

    考虑到 ASP.NET 和 ASP 交互的困难,你最好的选择可能是 FS 或 DB。这就是我的“阻力最小的道路”。

    【讨论】:

      【解决方案3】:

      只需将其写入磁盘,将文件名存储在 cookie 或查询字符串中,然后 Response.Redirect 用户。它可能“足够快”并且比编写一个可通过 TCP 访问的最小公分母状态服务器要容易得多——这是我能想到的唯一一种内存方式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-11
        • 2014-06-08
        • 2010-12-07
        • 1970-01-01
        • 2023-03-15
        • 2010-11-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多