duanou9739 2014-06-25 14:20
浏览 50
已采纳

服务器将图像作为响应发送,并在服务之前将其重命名 - Symfony 2

I want to serve a image as Response in Symfony 2.3.16

So I'm doing this in my action:

$image = $this->getDoctrine()->getRepository('MakoBackendBundle:Image')->find($id); 

if($image !== null) {                                                               
    /** @var $image Image */                                                        
    $info = getimagesize($image->getAbsolutePath());                                
    $content = file_get_contents($image->getAbsolutePath());                        

    return new Response($content, 200, array(                                       
        'Content-Type' => $info['mime'],                                            
        'Content-Length' => strlen($content),                                       
        'Content-Disposition' => 'attachment;'                                      
    ));                                                                             
}                                                                                   

return new Response();  

My question is how can I serve this image with a different name, like a time based hash or something? I want to serve it with a different name than it is stored on the server-side.

  • 写回答

1条回答 默认 最新

  • dousi4148 2014-06-25 14:51
    关注

    Symfony2 has a helper for this. This is from the documentation.

    use Symfony\Component\HttpFoundation\ResponseHeaderBag;
    
    $d = $response->headers->makeDisposition(
        ResponseHeaderBag::DISPOSITION_ATTACHMENT,   // disposition
        'foo.pdf'                                    // filename
    );
    
    $response->headers->set('Content-Disposition', $d);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 c语言写的8051单片机存储器mt29的模块程序
  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大