0

我开始在我的项目中使用 S3 存储桶Laravel 8.x,并使用以下代码解决了文件上传到存储桶的问题:

Storage::disk('s3')->put($file_path_on_s3_drive, $file_content_as_binary);

现在我尝试将此图像提供给浏览器,如下所示:

public function showImage(string $id) {
    $image = Image::find($id);

    return Storage::disk('s3')->get($image->file_path_on_s3_drive);
}

但它在浏览器中将文件显示为字符串而不是图像。

如何在浏览器中将数据显示为图像?

更新:showImage()我从网络路由 调用此函数:

Route::get('image/{id}', [ImageController::class, 'showImage']);
4

1 回答 1

0

灵魂是:

return response()->make(
    Storage::disk('s3')->get($path_and_filename),
    200,
    ['Content-Type' => 'image/jpeg']
);
于 2021-02-08T08:14:49.810 回答