当前位置: 首页 > 知识库问答 >
问题:

使用curl在postfields中上传带有files@的POST数据

仲孙信瑞
2023-03-14

我想使用cURL不仅以HTTP POST发送数据参数,而且还上传具有特定名称的文件。我该怎么做呢?

api还提供了如何执行curl命令的示例

curl -k -F file=@/path/to/file.txt -F apiId={apiId} -F apiSecretId={apiSecretId} https:\/\/fa2a.ninjastream.to\/api\/file\/upload?expires=1596028934&signature=132d1332996262809c7cc2dcd6376c483d6521dc7c273f9275ee1acb53e0b072
function uploadfileandgetlink($uploadurl){
  
          $ch = curl_init();

          curl_setopt($ch, CURLOPT_URL, $uploadurl);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
          curl_setopt($ch, CURLOPT_POST, 1);
          curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
          curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
  
  
 
          $post = array(
            
            
              'file'  => '@beztam.mp4',
              'apiId' => 'sdfg',
              'apiSecretId' => 'dsfg'
          );
          curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

          echo $result = curl_exec($ch);
          if (curl_errno($ch)) {
              echo 'Error:' . curl_error($ch);
          }
          curl_close($ch);

共有1个答案

袁枫涟
2023-03-14

您可以使用:

$fileContent = file_get_contents('beztam.mp4'); 
$post = array(
            
            
              'file'  => rawurlencode($fileContent),
              'apiId' => 'sdfg',
              'apiSecretId' => 'dsfg'
          );
 类似资料:
  • 我想使用cURL不仅以HTTP POST发送数据参数,而且还上传具有特定表单名称的文件。我该怎么做呢?

  • 问题内容: 我想使用WebClient类将文件上传到主机。我还想传递一些应该在服务器部分(PHP)的$ _POST数组中显示的值。我想一口气做 我用过下面的代码 如果我使用QueryString属性,则$ _GET数组中显示的值。但我想通过post方法发送它 问题答案: 没有内置功能可让您执行此操作。我已经在博客中发布了可以使用的扩展程序。以下是相关的类: 现在您可以在应用程序中使用它: 现在,在

  • 本文向大家介绍PHP基于CURL进行POST数据上传实例,包括了PHP基于CURL进行POST数据上传实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP基于CURL进行POST数据上传的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的PHP程序设计有所帮助。

  • 问题内容: 我想知道如何使此代码支持数组?目前,数组似乎只发送第一个值。 这是我的代码: 这就是在api上收到的 中的第二个值发生了什么? 问题答案: 您只是错误地创建了数组。您可以使用http_build_query: 因此,您可以使用的整个代码为:

  • 问题内容: 我正在为应该获取数据的Android应用程序编写代码,将其打包为Json并将其发布到Web服务器,而该Web服务器又应该以json进行响应。 使用GET请求可以很好地工作,但是由于某种原因使用POST,所有数据似乎都被剥夺了,服务器什么也没收到。 这是一段代码: 我想我已经遵循了有关如何创建和发布参数的一般准则,但是显然没有。 在这一点上(在花了几个小时才意识到从未发送过任何帖子数据之