在POST方法中使用application / json上传文件

时间:2014-03-24 10:28:45

标签: php wordpress-plugin wordpress

我正在使用以下代码将文件发送到我正在使用application / json方法开发的API。

$file_content = file_get_contents($file_path);
$file_api_parameter["File".$i] =  base64_encode($file_content);

但是,如果文件大小很大,我听说以这种方式发送文件会导致问题。

有谁能告诉我,如何使用application / json POST方法将大文件发送到API?

发送帖子的代码如下:

$jsonData = json_encode($parameter); 

$post_response = wp_remote_post(
                          $url,
                          array(
                              "method" => "POST",
                              "timeout" => 45,
                              "headers" =>  $headers, 
                              "body" => $jsonData,
                              "sslverify" => false
                          ));

更新 - 我要上传的文件类型是.pdf,.doc和.txt。现在我能够上传.txt,但对于.pdf和.doc,api方法失败了。这可能是因为邮件中发送的文件内容在编码时会变大。但是我正在使用runco​​pe应用程序跟踪发送到api的请求。在这里,我能够跟踪发送到api方法的响应。如果我尝试使用在线解码工具解码输出,那么我可以生成文件。但是在.doc和.pdf文件上传的情况下,请求没有到达api。

1 个答案:

答案 0 :(得分:0)

参考此链接,您可能会有所了解 http://codular.com/javascript-ajax-file-upload-with-progress