NotWritableException Не могу записать данные изображения в путь на герою - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь сохранить данные изображения в папке.Он отлично работает на моем локальном хосте, но когда я переместил его на heroku, он выдает мне эту ошибку

NotWritableException
Can't write image data to path (https://arcane-peak- 
34431.herokuapp.com/public/images/categories/1527155055.jpg)

Вот мой код.

$image = $request->file('image');
    $imagename = $image->getClientOriginalExtension();
    $imagename = time().'.'.$imagename;

    $destinationPath = URL::to('public/images/restaurants');
    $img = Image::make($image->getRealPath());

    $img->resize(100, 100, function ($constraint) {
        $constraint->aspectRatio();
    })->save($destinationPath.'/'.$imagename);

    $destinationPath = URL::to('public/images/restaurants');

    $image->move($destinationPath, $imagename);

Что я делаю не так?А также на моей локальной машине сохраняется загруженное изображение, но я хочу, чтобы мое изображение с измененным размером было сохранено. Любая помощь будет спасением жизни

1 Ответ

0 голосов
/ 24 мая 2018

Большая проблема в том, что даже если вы сохраните изображение, оно исчезнет.Heroku использует эфемерную файловую систему (жирный шрифт добавлен):

Каждый dyno получает свою собственную эфемерную файловую систему со свежей копией последнего развернутого кода.В течение срока службы динамометрического стенда его запущенные процессы могут использовать файловую систему в качестве временной блокнота, но записанные файлы не видны процессам в любом другом динамометрическом стенде, и любые записанные файлы будут отброшены в тот момент, когда динамометрический блок остановлен или перезапущен.Например, это происходит каждый раз, когда динамо заменяется из-за развертывания приложения, и примерно один раз в день в рамках обычного управления динамо.

Heroku рекомендует хранение пользовательских загрузокиспользуя сторонний сервис, такой как Amazon S3 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...