【问题标题】:Send a file to a PHP script from a VB.NET app从 VB.NET 应用程序向 PHP 脚本发送文件
【发布时间】:2010-01-17 16:14:04
【问题描述】:

我需要将一些数据从内部网络上的 SQL DB 服务器发送到外部 Web 服务器。

我希望通过编写一个每天调用一次的 VB.NET 应用程序来实现这一点,该应用程序将大约 1 MB 的数据发送到 Web 服务器上的 PHP 脚本,并存储在数据库中。

从 .NET 应用程序向 PHP 脚本发送数据的好方法是什么?

【问题讨论】:

    标签: .net php sql vb.net


    【解决方案1】:

    您可以像浏览器一样使用HTTPWebRequest 类将文件发布到您的php 脚本中。如果您发送的文件是基于文本的,例如 XML 或 CSV,则可以完成一个简单的帖子。但是,如果您需要发送二进制数据,您可以对其进行 base64 编码,然后在 PHP 的另一端对其进行解码,或者使用multipart forms 将其作为文件发布。除非您有特定的理由使用多部分表单,否则可能不值得这么费劲,您应该只使用 base64 对数据进行编码。

    【讨论】:

      【解决方案2】:

      Web 服务将是可行的方法,也许是通过 XML 的 SOAP 将数据直接推送到 PHP。

      如果你走 middaparka 的路线,你不会将它直接推送到 PHP,而只是使用 include 语句使其对 PHP 可用。如果您希望 PHP 在收到数据后立即处理,您可能需要第一个选项。

      【讨论】:

      • 我不熟悉 SOAP。这会是我的 .NET 应用程序可以用来发送该数据的东西吗?对于 XML,我也是一个该死的菜鸟,所以我将它全部编码为二进制并在另一端提取它可能会更快。也就是说,我确实需要拓宽我的视野。
      • 当然,在您的 .NET 应用程序中,您只需生成一个 XML 请求。然后将该 XML 请求发送到您的 PHP 应用程序,该应用程序需要一个解释您的 XML 的 SOAP 服务器(听起来很复杂,但实际上并非如此)。查看 WSDL 文档和 .NET XML 请求。
      【解决方案3】:

      如果您追求可靠手段,我会倾向于使用 FTP 而不是 HTTP 作为数据传输手段 - 它会让事情在以下方面更容易管理错误处理等,特别是如果您遵循一些良好做法,例如将文件上传到临时文件夹,然后在上传完成后将它们移动(以 FTP 术语重命名)到拾取文件夹。

      在具体功能等方面,PHP的FTP相关功能非常丰富(key docs here)。不幸的是,我不知道相关的 .NET 框架零碎,但我敢肯定,如果 MSDN 不交付货物,这里有人会为您指明正确的方向。

      【讨论】:

        【解决方案4】:

        您可能想要使用 JSON 或 XML。

        【讨论】:

          【解决方案5】:

          另一个想法可能是对基于 PHP 的网站执行 HTTP PUT 请求并传输您的数据。

          在此处了解如何接受通过 HTTP 发送的内容放入 PHP http://php.net/manual/en/features.file-upload.put-method.php

          在此处查看如何从 .net 应用程序执行 HTTP PUT 请求 http://www.java2s.com/Code/CSharp/Network/HTTPputwithusernameandpassword.htm

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-12-30
            • 1970-01-01
            • 2022-11-28
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-06-25
            相关资源
            最近更新 更多