【问题标题】:uploading a file from C# to PHP via http POST, file is not showing up right通过 http POST 将文件从 C# 上传到 PHP,文件未正确显示
【发布时间】:2010-01-01 01:49:02
【问题描述】:

我正在和一位朋友合作,接收从他的 C# 程序上传到我的 php 脚本的图像。他将表单数据和图像作为 HTTP POST 方法发送。

文本通过正常,但是当图像通过时,它不会显示在 $_FILES 中,而是显示在 $_POST 中。

当我 print_r $_POST 并且他提交时,他得到了这个......

Array
(
   [dbto] => sometext
   [blurb] => somemoretext
Content-Disposition: file; name="userfile"; filename="picture.png"
Content-Type: IMAGE/PNG

?PNG

然后他的应用程序崩溃了。在处理此类事务时,我读到了一些关于 php 中可能存在的错误的信息,以及关于数据发送方式的一些信息。

如果这是一个已知问题或我可以做些什么,有什么想法吗?

【问题讨论】:

    标签: c# php


    【解决方案1】:

    如果发件人不能正确编码,那么你可以通过打开并阅读'php://input'来接收它:

    $fp = fopen('php://input');
    //or
    $file = file_get_contents('php://input');
    

    (如果 POST 被编码,这将不起作用)

    【讨论】:

      【解决方案2】:

      当发送带有表单的文件时(我不确定它是否是一个表单),它必须被编码。

      表单标签应该有enctype="multipart/form-data" 这应该以正确的方式发布数据

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-20
        • 2016-11-05
        相关资源
        最近更新 更多