BinaryFileResponse设置文件名

BinaryFileResponse设置文件名

本文介绍了Symfony BinaryFileResponse设置文件名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当Symfony2控制器使用BinaryFileResponse响应返回文件时,是否可以设置自定义文件名?

Is it possible to set a custom filename when the file is returned by a Symfony2 controller using a BinaryFileResponse response?

推荐答案

是. BinaryFileResponse类具有方法setContentDisposition(),该方法将文件名作为第二个参数.

Yes. The BinaryFileResponse class has a method setContentDisposition() that takes the file name as the second argument.

第一个参数是文件的传递方式.如果要提供文件下载,则可以为ResponseHeaderBag::DISPOSITION_ATTACHMENT(或仅为字符串"attachment"),如果希望在浏览器中显示文件,则可以为ResponseHeaderBag::DISPOSITION_INLINE(或"inline").例如,对图像进行此操作.)

The first argument is the way the file should be delivered. It can be ResponseHeaderBag::DISPOSITION_ATTACHMENT (or just the string "attachment") if the file should be offered for downloading, or ResponseHeaderBag::DISPOSITION_INLINE (or "inline") if you want the file to be shown in the browser (you may want to do this with images, for example).

完整的代码示例:

<?php
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\ResponseHeaderBag;

$response = new BinaryFileResponse('/path/to/myfile');
$response->setContentDisposition(
    ResponseHeaderBag::DISPOSITION_ATTACHMENT,
    'file_name.txt'
);

这篇关于Symfony BinaryFileResponse设置文件名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-20 13:20