laravel - ixudra/curl 发布具有不同内容类型的多部分/表单数据
问题描述
我正在尝试使用指定数据为应用程序 json 的 ixudra/curl 在 laravel 中发布 multipart/form-data。我面临的问题是为数据分配类型并且仍然使标题内容类型是多部分/表单数据。
$contents = storage_path('app/curl.txt');
$dataJson = '{"bId":"79", "docId":"23"}';
$response = Curl::to($url)
->withHeaders( array(
'Authorization: Bearer 123432',
'grant_type: jwt-bearer' ) )
->withData( array ('data' => $dataJson ))
->withFile('file', $contents, 'text/*', 'curl.txt')
->containsFile()
->withResponseHeaders()
->returnResponseObject()
->post();
对于卷曲,是这样的。不知何故,错误是“ Failure to Authenticate OAuth Token ”并且标头内容类型不是 multipart/form-data
curl -v -H "Authorization:Bearer 123432"
-H "grant_type:jwt-bearer"
-F "file=@\"/jet/app/www/default/test/storage/app/curl.txt\""
-F "data={\"bId\":\"79\", \"docId\":\"23\"};type=application/json"
"https://url/private"
任何想法?谢谢你的时间。
解决方案
这仍然是一个问题吗?查看您的代码,我没有看到任何错误。您不需要在其中包含该containsFile()
方法,但这确实是一个不会以任何方式影响您的结果的细节。
根据您的描述,我怀疑该文件与错误有关。我建议尝试通过在简单的 GET 请求上使用它来确保身份验证是否正确,只是为了确保。如果可行,您应该更深入地研究表格。
推荐阅读
- php - 如何获取用户的每月展示次数?
- c++ - 此代码中的 double 精度仅为 6 位
- python - 没有这样的文件或目录” [Errno 2] 没有这样的文件或目录与烧瓶
- .net - w3wp.exe 中出现未处理的 Microsoft .net 框架异常 [5808]
- webrtc - 普通计算机的静态和公共 IP 地址
- c - 程序不会退出第一个 for 循环,我不知道为什么
- kotlin - 如何在 Swift 中扩展类表单 SharedCode 模块?
- go - 创建 HTTPS 服务器以提供二进制文件和其他文件的问题
- jsf - JSF SelectOneMenu 在另一个字段上的验证错误已修复并重新提交表单后显示错误值
- javascript - React hook useCallback 避免多次渲染