上传的图像不显示Symfony2

时间:2016-03-18 05:13:45

标签: symfony

我使用Symfony网站上的文档提供的代码示例在Symfony2中创建文件上传功能

 public function getAbsolutePath()
{
    return null === $this->path
        ? null
        : $this->getUploadRootDir().'/'.$this->path;
}

public function getWebPath()
{
    return null === $this->path
        ? null
        : $this->getUploadDir().'/'.$this->path;
}

protected function getUploadRootDir()
{
    // the absolute directory path where uploaded
    // documents should be saved
   // return __DIR__.'/../../../../web/'.$this->getUploadDir();
    return __DIR__.'/../../../../../web/'.$this->getUploadDir();
}

protected function getUploadDir()
{
    // get rid of the __DIR__ so it doesn't screw up
    // when displaying uploaded doc/image in the view.
    return 'uploads/documents';
}

我可以上传文件但是枝条无法显示

  <td><img src="/uploads/documents/{{ task.path }}" id="img-responsive">    </td>

使用Google的开发人员工具进行检查会显示图片的正确链接

<img src="/uploads/documents/Desert.jpg" id="img-responsive">

将图片网址复制到浏览器显示

   Object not found
   404

在这种情况下,您如何显示在Symfony上传的图像?

   app
   src
   web
     bundles
     uploads
       documents


     return __DIR__.'/../../../../../web/'.$this->getUploadDir();

更新

路径保存在数据库中

    path          id
    Desert.jpg     1
    cat.jpg        2
    dog.jpg        3

1 个答案:

答案 0 :(得分:0)

您可以使用DevDonkey建议,也可以像这样更改代码

 <td><img src="yourhost.com/web/uploads/documents/{{ task.path }}" id="img-responsive">    </td>

这应该可以正常运行,并且在我当前的项目中使用它。