Laravel 响应:返回图片流

228次阅读
没有评论

原地址:http://james.dmzfa.com/articles/zhuan-laravel-xiang-ying-fan-hui-tu-pian-liu

如果不想让用户知道图片(或其它类型的文件)的真实 URL,直接返回文件的字节流,可以使用 stream 方法。这个方法接受回调、可选的状态码和头信息数组作为参数,见下面的示例代码:

Route::get(‘/pic’, function () {
$fullPath = base_path().DIRECTORY_SEPARATOR.’pic’.DIRECTORY_SEPARATOR.’demo.jpg’;

return response()->stream(function () use ($fullPath) {
echo file_get_contents($fullPath);
}, 200, [‘Content-Type’ => ‘image/jpeg’]);
});

上面的代码在 stream 方法的回调函数中,直接输出保存在项目根目录的 pic 子目录中的 demo.jpg 的内容,在第三个参数中设置响应标头的 Content-Type 为 image/jpeg,如果 Content-Type 设置不正确,则浏览器显示的会是乱码。

文档地址:Laravel 响应:返回图片流

正文完
有偿技术支持加微信
post-qrcode
 
评论(没有评论)
验证码