Файлы не загружаются из-за неизвестной ошибки при использовании laravel - PullRequest
0 голосов
/ 15 февраля 2019
  • Laravel Версия: 5.5

У меня проблема при загрузке файла.У меня есть несколько файлов в массиве, я загружаю эти файлы два раза в одной и той же функции в первый раз, я проверяю версию файла PDF, и размеры файла этот блок кода работает отлично, но во втором блоке кода, который я снова загружаюэти файлы для слияния этих файлов дает мне эту ошибку " Файл" A4.pdf "не был загружен из-за неизвестной ошибки ".Когда я удаляю первый блок кода, тогда начинает работать второй блок кода. Я не знаю, где я допустил ошибку, я много искал, но не нашел ответа.

Этот блок проверки кода pdfверсия и размеры файла.

$paper_size = array();
$del_files = array();
foreach ($files as $file) {

        $filename = time().date('m-d-y').$file->getClientOriginalName();

        $file->move(public_path().'/uploads/check_pdf_files/', $filename);

        $version = $this->pdfVersion(public_path().'/uploads/check_pdf_files/'.$filename);

        if($version > 1.5)
        {
            File::delete('public/uploads/check_pdf_files/'.$filename);

            return Response::json(" Your PDF file version is greater than 1.4 which is not compatible with our system, Please make it lower version.", 400);
        }

        $get_paper_size = $this->get_pdf_dimensions('public/uploads/check_pdf_files/'.$filename);

        $paper_size[] = $get_paper_size;
        $del_files[] = $filename;
    }

    if(round($paper_size[0]['width']) != round($paper_size[1]['width']))
    {
        foreach ($del_files as $del) 
        {
            File::delete('public/uploads/check_pdf_files/'.$del);
        }

        return Response::json(" Your Files dimensions is not matching please try with same dimensions.", 400);
    }

Этот блок кода используется для объединения файлов.

         $new_pdf_file = array();

         foreach ($request->file as $merge_file) 
            {
                $newFile_name = time().$merge_file->getClientOriginalName();


                $merge_file->move('public/uploads/', $newFile_name);

                $new_pdf_file[] = $newFile_name;
            }
            dd($new_pdf_file);

            $pdf = new \LynX39\LaraPdfMerger\PdfManage;

            foreach($new_pdf_file as $new)
            {
                $pdf->addPDF('public/uploads/dummy_uploads/'.$new, 'all');
            }

            $temp_name = time().$request->merge_name;

            $pdf->merge('file',base_path(). '/public/uploads/' . Auth::user()->email . '/'.$temp_name.'.pdf', 'P');

            foreach($new_pdf_file as $delete_new)
            {
                File::delete('public/uploads/dummy_uploads/'.$delete_new);
            }

            $user = DB::table('user_pdf_files')->insert([
                'user_files' => $request->merge_name.'.pdf',
                'filename' => $temp_name.'.pdf',
                'type' => $request->type[0],
                'user_id'    => Auth::user()->id,
            ]);

            Session::flash('success', 'Files Merged Successfully');
            return Response::json('success', 200);`

1 Ответ

0 голосов
/ 15 февраля 2019

Вам нужен полный путь, куда вы хотите сохранить файлы.Каждый раз, когда вы перемещаете или копируете файл, убедитесь, что вы используете public_path() с относительным путем в качестве параметра.Эта функция выводит полный путь к общей папке.Например:

$merge_file->move(public_path('uploads'), $newFile_name);

Вот почему первый блок кода работает по сравнению со вторым.Но не очень описательная ошибка!

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