symfony访问web目录外的图片

在这里插入代码片
前台给img的src写路由
<img id=“title_preview” src={{ “img_src_in_check”"?path="imgPath }}>

后台Controller
use Symfony\Component\Filesystem\Exception\IOExceptionInterface;
use Symfony\Component\Filesystem\Filesystem;

public function getPicAction(Request $request)

{

    $full_path = $request->get('path');
    $this->get('logger')->info(var_export($full_path,true));

    $fs = new FileSystem();
    if (!$fs->exists($full_path)) {
        throw $this->createNotFoundException();
    }

    $file_name = basename($full_path);
    $mime_type = $this->getMimeType($full_path);

    $file = readfile($full_path);
    $headers = array(
        'Content-Type'     => $mime_type,
        'Content-Disposition' => 'inline; filename="'.$file_name.'"');
    return new Response($file, 200, $headers);
}`

protected function getMimeType($file)
{

    if ('png' === substr($file, -3)) {
        $best_guess = 'png';
    } else {
        $guesser = MimeTypeGuesser::getInstance();
        $best_guess = $guesser->guess($file);
    }
    return $best_guess;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值