将curl命令转换为Laravel Http

问题描述 投票:0回答:1

我在将curl命令转换为Laravel Http Facade命令时陷入困境。

curl -i --upload-file ~/Desktop/Myimage.jpg -H 'Authorization: Bearer Redacted' "https://www.linkedin.com/dms-uploads/C5622AQHdBDflPp0pEg/feedshare-uploadedImage/0?ca=vector_feedshare&cn=uploads&sync=1&v=beta&ut=1lrKqjt4fYuqw1"

我尝试了如下的 Laravel 命令,但服务器抱怨

400 Bad Request

Http::attach("file_display_name", file_get_contents("path_to_file"), "file_name_with_extension")
->withHeaders([
    "Authorization" => "Bearer Redacted"
])
->put("https://www.linkedin.com/dms-uploads/C5622AQHdBDflPp0pEg/feedshare-uploadedImage/0?ca=vector_feedshare&cn=uploads&sync=1&v=beta&ut=1lrKqjt4fYuqw1");

感谢您帮助我找出我做错的事情。

PS: Curl 命令成功运行。

编辑:按照 John Lobo 的建议尝试了 Postman。

我已将请求方法设置为 PUT 并使用 form-data 来设置文件。我不确定这是否是正确的方法,因为我也通过这种方法获得了

400 Bad Request
。响应正文中没有其他内容。

laravel curl php-curl
1个回答
0
投票

经过更多研究(感谢 ChatGPT),我发现了我的错误。

我没有正确设置文件的密钥。文件的密钥必须准确为

file
。然后就可以了。

更新了 Laravel 代码:

Http::attach("file", file_get_contents("path_to_file"), "file_name_with_extension")
->withHeaders([
    "Authorization" => "Bearer Redacted"
])
->put("https://www.linkedin.com/dms-uploads/C5622AQHdBDflPp0pEg/feedshare-uploadedImage/0?ca=vector_feedshare&cn=uploads&sync=1&v=beta&ut=1lrKqjt4fYuqw1");
© www.soinside.com 2019 - 2024. All rights reserved.