Ошибка 500 при отправке файла через axios - PullRequest
0 голосов
/ 04 января 2019

Сначала я хочу загрузить изображение с внешнего сервера, затем я хочу отправить почтовый запрос с этим изображением на мой REST API laravel через axios, но когда я пытаюсь это сделать, я получаю эту ошибку.Когда я отправляю запрос через почтальона, все работает.

Вот ответ блоба:

Blob(3382513) {size: 3382513, type: "image/jpeg"}
   size: 3382513
   type: "image/jpeg"
   __proto__: Blob
      size: (...)
      slice: ƒ slice()
      type: (...)
      constructor: ƒ Blob()
      Symbol(Symbol.toStringTag): "Blob"
      get size: ƒ size()
      get type: ƒ type()
      __proto__: Object

Мой контроллер

public function store(Request $request)
{
    return Image::make($request->file)->response();
}

JavaScript

async confirmWallpaper(wallpaper) {
            let image;
            await fetch(wallpaper.image_url)
                .then(res => res.blob())
                .then(blob => {
                   image = blob;
                });

            let data = new FormData();
            data.append('file', image);

            axios.post('/api/wallpaper', data,
            {
                header : {
                    'Content-Type' : 'multipart/form-data'
                }
            },
            )
            .then(res => res)
            .then(res => {
                if("error" in res) {
                    this.message = res.error.message;
                }
                if("data" in res) {
                    console.log(JSON.stringify(res.data));
                }
            })
            .catch(error => {
                console.log(JSON.stringify(error.response));
            });

Спасибо и счастливого нового года :) 1012 *

1 Ответ

0 голосов
/ 04 января 2019

Я обнаружил в своем apache error.log это:

[Thu Jan 03 17:56:16.405178 2019] [php7:error] [pid 2548:tid 1716] [client 
127.0.0.1:57143] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 32768 bytes) in C:\\xampp\\htdocs\\wallpapers\\vendor\\symfony\\debug\\Exception\\FatalErrorException.php on line 1, referer: http://laravel.local/panel/

, затем я изменил ограничение памяти php.ini, и оно работает

memory_limit=600M

Не забудьте перезапустить вашсервер apache:)

...