Вопрос: нахрена это заказчику? С каких пор заказчик решает какие архитектурные решения использует программист?
Если бы это был тимлид или другой программист, то да, можно, но нужно учесть нюансы. Например, в своем проекте я храню мелкие архивы (700 байт) в редисе, так как файлов очень много (что не есть хорошо для файловой системы), и это не хранилище, а всего-лишь кэш, причем который чистит себя сам. В таком случае - да, можно использовать БД для хранения файлов, но
это одно из исключений, а не норма.
В моем случае zip архив конвертировался в string библиотекой, а раздавался так:
/**
* Return file from string (buffer).
*
* @param $content
* @param null $name
* @param array $headers
* @param string $disposition
*
* @return \Symfony\Component\HttpFoundation\StreamedResponse
*/
public function fileFromString($content, $name, array $headers = [], $disposition = 'attachment')
{
return response()->streamDownload(function () use ($content) {
echo $content;
}, $name, [
'Content-Type' => MimeType::from($name),
] + $headers, $disposition);
}
С blob'ом должно быть +- так-же. Но повторюсь, что это edge case, и обычно так делать не стоит.