从Symfony中的URL访问在app文件夹中上传的图像文件

时间:2014-06-27 10:14:48

标签: php symfony

我已将我的图片文件上传到"app/upload" symfony2目录下。

我已在web中定义了我的域根“vhosts”目录。

如何从浏览器的地址栏访问这些图片,例如"my-domain.loc/app_dev.php/upload/img-001.jpg"?

2 个答案:

答案 0 :(得分:2)

您没有,所有可公开访问的内容都应位于 web 目录中,而不是 app 目录中。

来源:http://symfony.com/doc/current/quick_tour/the_architecture.html#the-web-directory

答案 1 :(得分:0)

您可以创建StremedResponse

use Symfony\Component\HttpFoundation\File\File;
use Symfony\Component\HttpFoundation\StreamedResponse;

protected function createSendFileResponse(File $file)
{
    $response = StreamedResponse::create(function() use ($file) { readfile($file); });
    $response->headers->set('Content-Type', $file->getMimeType());
    return $response;
}

并在具有路径的控制器(例如服务)中使用它。

通常使用app/var/foo来保存上传的文件。