Доступ к личному файлу из локального хранилища (laravel) по Ax ios, вызову Vue. js - PullRequest
1 голос
/ 05 февраля 2020

Я строю и SPA использую Vue. js и Laravel. Моя проблема в том, что я не могу получить изображение, хранящееся в локальном хранилище, которое должно быть приватным . Этот файл находится в /Storage/app/private/privateImage.png

Конечно, я могу использовать файлы publi c, используя ссылку на хранилище, но в этом случае это не вариант, если файлы в Закрытый каталог является частным и должен отображаться только после определенной проверки et c.

Это мой метод контроллера, который возвращает файл:

public function loadPrivateFile()
{
    $file_path = "/private/image2.png";

    if (!Storage::disk('local')->exists($file_path)) {
        return "doesnt exists";
    } else {
        // return "exists";
        $local_path = config('filesystems.disks.local.root') . DIRECTORY_SEPARATOR . $file_path;
        return response()->file($local_path);
    }
}

После вызова этого метода через Ax ios я даже могу видеть изображение как ответ в инструментах разработчика браузера, однако я не могу привязать и тег img. Когда я создавал страницы без SPA без vue, я использовал функцию маршрута внутри sr c в изображении, и это сработало, однако сейчас я нахожусь в Vue и не могу получить к нему доступ.

Я искал форум и все посты относятся к хранилищу publi c, что не является решением в моем случае. Есть ли способ как это сделать?

Спасибо

1 Ответ

0 голосов
/ 05 февраля 2020

Вы можете закодировать изображение в виде строки base64 на стороне сервера и просто привязать его к атрибуту: sr c в vue или передать его обычным образом и кодировать его в base64 на стороне клиента

Посмотрите на эта проблема на топоре ios github страница

...