ixudra / curl发布具有不同内容类型的multipart / form-data

时间:2018-11-14 02:10:38

标签: laravel rest curl multipartform-data

我正在尝试使用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"

有什么主意吗?谢谢您的时间。

1 个答案:

答案 0 :(得分:0)

这还是个问题吗?查看您的代码,我看不到任何错误。您无需在其中包含containsFile()方法,但这实际上是一个细节,不会以任何方式影响您的结果。

根据您的描述,我怀疑该文件与错误有关。我建议尝试通过在简单的GET请求上使用身份验证来确保身份验证是否正确。如果可行,您应该更深入地研究表格。