Size: a a a

2020 November 12

AS

Anton Syuskov in symfony
Leonid Nik
Всем добра! никто с такой штукой не встречался ? ERROR: Couldn't connect to Docker daemon - you might need to run docker-machine start default.   Что он хочет ?
ну так докер демон не запущен) или запущен не там где ожидает его клиент
источник

q

qq in symfony
Yuriy Sergeev
отдавай через StreamedResponse или скорее даже BinaryFileResponse и неважно как будет называться файл
Да я ж написал, что хочу чтоб веб сервер файлы отдавал, а не PHP с Symfony
источник

YS

Yuriy Sergeev in symfony
ну если у тебя в роуте id, а ты хочешь чтоб какой-то нжинкс по этому айди нашел файл, можно накрутить чето конечно, но зачем?)
источник

YS

Yuriy Sergeev in symfony
резолви в роуте файлнейм/путь и делай редирект
источник

q

qq in symfony
Yuriy Sergeev
резолви в роуте файлнейм/путь и делай редирект
с редиректом URL у файла не постоянный
источник

q

qq in symfony
это можно реализовать похоже только в том случае, если есть заголовок HTTP, который позволяет неявный редирект на файл сделать, без изменения URL, но чет я не нахожу такого
источник

q

qq in symfony
ладно, сделаю отдачу через Symfony, потом всегда ради производительности можно будет переделать на nginx+lua, если будут проблемы
источник

YS

Yuriy Sergeev in symfony
ну сама идея в нжинксе делать логику "найти файл по айди" на любителя конечно
источник

q

qq in symfony
Yuriy Sergeev
ну сама идея в нжинксе делать логику "найти файл по айди" на любителя конечно
Стандартный вариант, лучше ничего нет похоже, если нужен перманентный URL на файл
источник

I<

Ivan <Chi> in symfony
qq
с редиректом URL у файла не постоянный
302 редирект не кешируются, потому можно сделать PHP роут с постоянным урлом и редиректить на реальный путь к файлу, который можно в любой момент поменять
источник

q

qq in symfony
Ivan
302 редирект не кешируются, потому можно сделать PHP роут с постоянным урлом и редиректить на реальный путь к файлу, который можно в любой момент поменять
Конечный URL то не постоянный, именно его сохраняют обычно
источник

I<

Ivan <Chi> in symfony
Content-Disposition: attachment, пользователь даже и не поймет откуда на самом деле файл качается
источник

q

qq in symfony
О, вот это уже интереснее, это похоже то что я искал, проверю
источник

A

AZA in symfony
qq
если он и есть, то только костыльный скорее всего
источник

q

qq in symfony
Ну и каким боком оно к FlashBag? такое же "глобальное" решение как и вебсокеты
источник

I

Ilya Ushakov - автом... in symfony
qq
Вот список требований:
Файлы хранятся в ФС
Отдает файлы веб сервер, а не PHP
Ссылка на файл должна быть постоянной
Файлы можно переименовывать
Не знаю, можно ли вообще так сделать, без lua в nginx
источник

q

qq in symfony
Похоже подходит, надо попробовать
источник

q

qq in symfony
Отличное решение, спасибо, в ФС можно даже хранить файлы с id в названии, но отдавать нормально
источник

q

qq in symfony
Подскажите, можно ли с этим что-то сделать?
В теории из-за обрыва соединения с БД может выйти так, что запись в таблице будет, а вот файла в ФС - нет.
$file = new File();
$file->setName($filename);
$file->setSize($uploadedFile->getSize());

$this->em->persist($file);
$this->em->flush();

try {
   $uploadedFile->move($this->getTargetDirectory(), $file->getId());
} catch (FileException $e) {
   $this->em->remove($file);
   $this->em->flush();
   // ...
}
источник

VK

Vladyslav Kopaihorod... in symfony
qq
Подскажите, можно ли с этим что-то сделать?
В теории из-за обрыва соединения с БД может выйти так, что запись в таблице будет, а вот файла в ФС - нет.
$file = new File();
$file->setName($filename);
$file->setSize($uploadedFile->getSize());

$this->em->persist($file);
$this->em->flush();

try {
   $uploadedFile->move($this->getTargetDirectory(), $file->getId());
} catch (FileException $e) {
   $this->em->remove($file);
   $this->em->flush();
   // ...
}
t
источник