symfony - Symfony 5 - 下载使用 vich 上传的文件
问题描述
在添加功能上传文件或许多文件感谢捆绑“vich”后,我会下载上传的文件。我的文件被保存到创建到根文件夹的上传文件夹中。
我有这段代码,但错误提示“找不到文件”..
<a download class="btn btn-info btn-sm" href="{{'upload/' ~ document.image }}"><i class="fas fa-file-download"></i> {{ document.image }} </a>
解决方案
要在使用 Vich 上传程序包时下载文件,您必须在控制器类中创建一个函数并从模板中调用它。
例如:
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Vich\UploaderBundle\Handler\DownloadHandler;
class MyController extends AbstractController
{
/**
* @Route(...)
*
* @param Document $document The document to download
* @param DownloadHandler $downloadHandler Handler
*
* @return Response
*/
public function downloadDocument(Document $document, DownloadHandler $downloadHandler): Response
{
return $downloadHandler->downloadObject($document, 'documentFile');
}
}
形成更多信息,请参阅VichUploaderBundle serving_files_with_a_controller
推荐阅读
- python - 服务键盘快捷键不起作用 MacBook
- html - 如何摆脱悬停时锚点内的图片元素上出现的背景色条?
- java - MaterialDatePicker.getHeaderText() 在 android 月份返回 00
- ray - Ray Serve 无法创建后端
- android - TIZEN STUDIO 本地标志构建问题
- python - 谁能告诉我我的代码有什么问题,它显示(SyntaxError:无效语法)?
- java - 仅使用 Java 而非 keytool 将密钥对设置到密钥库中
- python - 用numpy的限制填充
- python - 如何使用 xlsxwriter 将我的数据表逐行写入 Excel
- json - 尝试使用 Python 解析 JSON 文件