gpt4 book ai didi

php - 如何使用 HTTP Client 将图像或文件发送到外部 API?

转载 作者:行者123 更新时间:2023-12-05 04:33:21 27 4
gpt4 key购买 nike

我有一个 API 来保存图像和文件

这是保存来自 API 的图像请求的代码

$file = $request->file('gambar');
$fileName = $file->getClientOriginalName();
$file->storeAs('images/berita', $fileName);

$berita = new Berita;
$berita->judul = $request->judul;
$berita->kategori_id = $request->kategori_id;
$berita->isi = $request->isi;
$berita->gambar = $fileName;
$berita->tgl = $request->tgl;
$berita->user_id = $request->user_id;
$berita->save();

return response()->json([
'message' => 'Data berita Added Successfully!',
'Added berita' => $berita
], Response::HTTP_OK);

我已经在 postman 中尝试了 API,一切顺利,图片已成功上传。 enter image description here

然后在客户端,我使用 Laravel 的 HTTP 客户端将数据发布到 API。这是代码。

$Berita = Http::withToken('xxx')
->attach('attachment', file_get_contents($request->file('gambar')))
->post('https://api.xxx.my.id/xxx', [
'judul' => $request->judul,
'kategori_id' => $request->kategori_id,
'isi' => $request->isi,
'gambar' => file_get_contents($request->file('gambar')),
'tgl' => $request->tgl,
'user_id' => $request->user_id
]);

return $Berita;

除了包含我发送的图像的 gambar 外,所有数据都已成功发送。它在我的 API 验证中这样说。

The gambar must be a file of type: jpeg, jpg, png.

它认为这意味着我发送的图像是作为字符串发送的,所以它没有作为文件接收它。

顺便说一下,这是关于 HTTP 客户端的 Laravel 文档:https://laravel.com/docs/9.x/http-client#multi-part-requests

有谁知道如何正确使用它?我想我误用了它。

最佳答案

我认为附件有问题。

  return Http::withToken('xxx')
->attach('gambar', file_get_contents($request->file('gambar')), , 'gambar.png')
->post('https://api.xxx.my.id/xxx', [
'judul' => $request->judul,
'kategori_id' => $request->kategori_id,
'isi' => $request->isi,
'tgl' => $request->tgl,
'user_id' => $request->user_id
]);

return Http::withToken('xxx')
->attach('gambar', $request->file('gambar'), 'gambar.png')
->post('https://api.xxx.my.id/xxx', [
'judul' => $request->judul,
'kategori_id' => $request->kategori_id,
'isi' => $request->isi,
'tgl' => $request->tgl,
'user_id' => $request->user_id
]);

关于php - 如何使用 HTTP Client 将图像或文件发送到外部 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71458538/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com