【问题标题】:Uploading a file from a .NET client to PHP on a server将文件从 .NET 客户端上传到服务器上的 PHP
【发布时间】:2013-05-17 02:50:14
【问题描述】:

我想使用 .NET 将图片文件从本地磁盘上传到 Web 服务器,然后由 PHP 脚本接收并保存到服务器。我不确定传输数据的首选方式,现在我意识到它并不像我希望的那么简单。

问题是 PHP 的文件上传机制只接受编码为multipart/form-data 的数据,如果不自己编码成字节数组并上传,我看不到让 WebClient 以这种方式上传文件的方法。

哪个会是更简洁的解决方案:我应该在客户端上进行这种编码的麻烦吗?或者,如果我只使用WebClient.UploadFile,我应该能够从php://input 接收它吗?如果可以,它是否需要解码?

我在这个网站和其他网站上找到了几个进行编码的例子,所以我不需要帮助。我只是想就这种客户端编码是否明智或必要,或者我是否可以通过不使用$_FILES 并以更“手动”的方式接收数据而在服务器上完成工作提出意见。

从长远来看,我将寻求更好地理解 HTTP 协议。

【问题讨论】:

  • 您真正想要达到的目标是什么?上传可以通过多种方式完成,但这取决于你想做什么
  • 我想使用.NET将图片文件从本地磁盘上传到web服务器,以适合PHP接收并保存到服务器的方式。
  • 将文件上传到 PHP 的最简单方法是使用 PUT HTTP 方法。我不知道 .NET 中有哪些类型的 HTTP 库,但在 PHP 端,您可以从 php://input 获取 PUT 文件。无需编码。

标签: php .net http


【解决方案1】:

感谢 Janoszen 的评论,我已经找到了自己的答案。正是我想要的那种简单。

这是 .NET 客户端的摘录(Visual Basic 中的示例):

Dim wc As New WebClient()
wc.UploadFile(url, "PUT", filename)

并从服务器上的 PHP:

file_put_contents(filename, file_get_contents('php://input'));

感谢亚诺森!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-28
    • 2014-04-05
    • 1970-01-01
    • 2011-05-31
    • 2014-03-11
    相关资源
    最近更新 更多