我正在尝试使用ixudra / curl在laravel中发布multipart / form-data,以指定数据为应用程序json。我正面临的问题是为数据分配类型,同时仍然使标题内容类型为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();
对于卷曲,就是这样。不知何故,错误是“ 无法验证OAuth令牌”,并且标头内容类型不是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"
有什么主意吗?谢谢您的时间。
答案 0 :(得分:0)
这还是个问题吗?查看您的代码,我看不到任何错误。您无需在其中包含containsFile()
方法,但这实际上是一个细节,不会以任何方式影响您的结果。
根据您的描述,我怀疑该文件与错误有关。我建议尝试通过在简单的GET请求上使用身份验证来确保身份验证是否正确。如果可行,您应该更深入地研究表格。