我想返回带有数据的图像。
$ads = DB::table('ads')->whereRaw('category_id=' .$id)->orderBy('id', 'desc')->get();
$filename = public_path().'/uploads/images/'.$ads->ad_image;
$filename = (file_get_contents($filename));
$image = Array('image'=>json_encode(base64_encode($filename)));
$ads[0]->image = $image;
return $ads;
Run Code Online (Sandbox Code Playgroud)
假设要在laravel的存储目录中存储的页面上向用户显示图像,可以执行以下实现:
创建一个控制器以获取并返回图像作为响应。
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\View;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Response;
Use DB;
class PhotoController extends Controller
{
public function image($fileName){
$path = public_path().'/uploads/images/'.$fileName;
return Response::download($path);
}
}
Run Code Online (Sandbox Code Playgroud)
添加路线以处理图像请求
Route::get('image/{filename}',PhotoController @image);
Run Code Online (Sandbox Code Playgroud)
现在,要访问图像,请在图像标签中说
<img src="image/abc.jpg">
Run Code Online (Sandbox Code Playgroud)
PS:这种提供图像的方法相对于图像的直接链接几乎没有任何开销。
如果您的图像是公共的,则只需创建将图像存储到公共目录的目录的符号链接。
| 归档时间: |
|
| 查看次数: |
7262 次 |
| 最近记录: |