繁体   English   中英

如何使用 Laravel 在此 API 调用上返回图像

[英]How to return an Image on this API Call using Laravel

我正在尝试在用户上传图像的端点上进行调用。 我想从调用中返回图像,而不是 json。这是一个 Post 请求,我使用 Laravel HTTP 客户端方法。

这是我的代码:

class PostImageController extends Controller
{
    /**
     * @param Request $request
     */
    public function scan(Request $request)
    {
        $url = env('AZURE_FUNCTION_PYTHON_DOCUMENT_SCANNER_URL');
        $file = $request->file('document')->get();

        $response = Http::withHeaders([
            'Content-Type' => 'multipart/form-data',
        ])->attach(
            'document',
            $file,
            'image.jpeg',
        )->post($url, $request->all());

        // Change this line to return an image
        return $response->json();
    }
}

欢迎任何想法。

您需要 stream 从响应中返回 URL 给出的文件(如果它存在)

return response()->file($fileURLGivenFromHttpResponse);

为了返回图像,您需要这样的东西

return Response::make($image, 200)->header('Content-Type', $type);

其中 $image 包含您要上传的图像,$type 包含图像类型(例如 image/png)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM