发布网友 发布时间:2022-04-23 07:13
共1个回答
热心网友 时间:2022-06-17 08:15
你先要知道 curl 是如何发送文件的
当 CURLOPT_POST 为真时,curl 将 分析 CURLOPT_POSTFIELDS 的参数(post 的数据)
将字段值以 @ 开头的的剩余部分视为文件名。读取文件并打包到 http 数据包中
当然还要发一个Content-Type: multipart/form-data 声明。
这样才会被接收方分理处文件来
而你声明数据类型为 Content-Type: application/json
这样接收方已经不能按 post 方式接收数据了(需要自行解释收到的流)
况且你有 $request =json_encode ( $request );
就使得传递给 curl 的提交数据没有了列的概念了(json数据被视为变量名,而值为空)
当然也不会在发送时包含文件数据了
所以,即便你在接收方解析了收到的数据,那也是只有准备饭送的文件名。而没有文件内容