【问题标题】:Upload file via HTTP from VBA (WinHTTP)通过 HTTP 从 VBA (WinHTTP) 上传文件
【发布时间】:2010-04-30 07:04:34
【问题描述】:

我正在尝试 (HTTP) 从 VBA 中以编程方式上传二进制文件。我打算在服务器上放一个 ASPX 页面来接受文件和某些附加参数。

我知道有很多很好的方法可以做到这一点(例如,使用 Web 服务而不是 aspx),但我的限制是它必须在 VBA 中运行(在 excel 文件中),并且我不能在其上安装任何其他组件客户。

所以我想我会使用 WinHTTP,并且我找到了几个发布表单数据的示例,而不是发布二进制文件。我可能需要对文件内容进行 base64 处理?

所以我的问题是:

  • 我需要手动编码还是让 WinHTTP 来做?
  • 有没有比 WinHTTP 更好的实用程序? (请记住,我不想安装任何其他软件,它必须随 WinXP Pro、Office 2007 或 .NET 框架一起提供,例如)
  • 有没有更好的方法,例如使用 ASP.NET 网络服务?

谢谢,奇科多罗

【问题讨论】:

    标签: http vba post upload winhttp


    【解决方案1】:

    可能使用 base64,但通常编写二进制文件更容易。

    您必须跨越的障碍是构建有效的多面/表单 POST。使用 WinHTTP 完全可以做到这一点,尽管我已经很多年没有这样做了,也没有提供示例代码的工具,但这并不简单。

    您可以参考以下文章以获取有关如何使用 C# HttpWebRequest 执行此操作的示例。 WinHTTP api 当然有点不同,但要从文章中带走的重点是 POST 正文的结构。

    通常我会提供示例代码,但正如我所说,我现在没有设置任何石器时代工具 ;-)。

    HTH

    【讨论】:

    • 是的,尼安德特人的生活很艰难 :-) 感谢您提供的链接,您在“带有表单字段、cookie 和标题的 C# 文件上传”上的帖子看起来确实很有趣。
    猜你喜欢
    • 2014-03-09
    • 2011-12-05
    • 2011-03-20
    • 2010-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    相关资源
    最近更新 更多