Laravel Vue js не могу загрузить файл больше 100 КБ - PullRequest
0 голосов
/ 07 мая 2020

Я весь день борюсь с этой проблемой и не могу ее решить. Я использую Laravel и Vue js. Когда я пытаюсь загрузить файл размером более 100 КБ, статус замораживается (ожидает), а затем выводится (неудачный) статус с net::ERR_CONNECTION_ABORTED на консоли.

PHP Значения .ini:

  • memory_limit = 256M
  • post_max_size = 64M
  • upload_max_filesize = 64M
  • max_execution_time = 300
  • max_input_time = 1000

Метод отправки:

submitFiles() {
let formData = new FormData();

      for (var i = 0; i < this.files.length; i++) {
        let file = this.files[i];

        formData.append("files[" + i + "]", file);
      }

      Object.keys(this.TaskData.data).forEach(key => {
        const task= this.TaskData.data[key];
        formData.append("id_task", task.id);
        formData.append("id_grade", task.id_grade);
        formData.append("id_section", task.id_section);        
      });

      axios
        .post("api/eval/", formData, {
          headers: {
            "Content-Type": "multipart/form-data"
          },
          onUploadProgress: function(progressEvent) {
            this.uploadPercentage = parseInt(
              Math.round((progressEvent.loaded * 100) / progressEvent.total)
            );
          }.bind(this)
        })
        .then(function() {          
          console.log("SUCCESS!!");
        })
        .catch(function() {
          console.log("FAILURE!!");
        });
        this.files = [];
    },

Контроллер:

public function store(Request $request)
    {
        $user = auth('api')->user()->id;      

        $this->validate($request, [
            'id_task' => 'required',
            'id_grade' => 'required', 
            'id_section' => 'required'          
        ]);

        try
        {
            if($request->hasFile('files'))
            {
                DB::beginTransaction();

                $eval = new Eval();
                $eval->id_user = $user;
                $eval->id_task = $request->id_task;
                $eval->id_grade = $request->id_grade;
                $eval->id_section = $request->id_section;
                $eval->score = 0;
                $eval->save();

                $files = $request->file('files');         

                foreach ($files as $file)
                {                                               
                    $name= $file->getClientOriginalName();                           
                    $storagePath = $file->move(public_path('uploads/eval'), $name);
                    $storageName = basename($storagePath);

                    $resource = new Resource ();
                    $resource ->id_eval = $eval->id;
                    $resource ->name= $name;
                    $resource ->path = $storageName;
                    $resource ->save();
                }  

                DB::commit();
            }
        }
        catch (Exception $e)
        {
            DB::rollback();
        }
    }

Небольшие файлы загружаются нормально, но файлы размером более 100 КБ не работают. Спасибо друзья

...