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

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?