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);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b