Nano Hash - криптовалюты, майнинг, программирование

Загрузка файла в Laravel с проверкой дает проблемы и сбой с белым экраном и без ошибок

Я пытался следовать некоторым руководствам по загрузке файлов с помощью Laravel PHP, но столкнулся с препятствием. В настоящее время мой приведенный ниже контроллер компилируется без ошибок, но выводит меня на белую страницу, и мои загрузки файлов не появляются в моем месте хранения. У меня есть загрузка изображений для работы, но я хочу, чтобы это была возможность загрузки изображений, аудио или видео, которую я не смог заставить работать. Я изо всех сил пытаюсь отладить этот код, чтобы увидеть, где он может пойти не так. Это из-за моего оператора return внутри оператора if? Любитель здесь и будет признателен за любую помощь здесь.

Спасибо

См. ниже мои ресурсы и контроллер, на которые я ссылаюсь.

https://appdividend.com/2018/08/15/laravel-file-upload-example

Изображение не перемещается по пути к папке

https://www.webslesson.info/2018/02/image-file-upload-in-laravel-with-validation.html

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;

class UploadfileController extends Controller
{
  function index()
  {
   return view('upload');
  }

function upload(Request $request)
{

 if( $request->hasFile('file') ) {

    $file = $request->file('file');
    $imagemimes = ['image/jpeg,png']; //Add more mimes that you want to support
    $videomimes = ['video/mp4,mpeg,ogg,mp4,webm,3gp,mov,flv,avi,wmv,ts']; //Add more mimes that you want to support
    $audiomimes = ['audio/mpeg,mpga,mp3,wav,aac']; //Add more mimes that you want to support

    //Validate images
    if(in_array($file->getMimeType() ,$imagemimes)) {
            $filevalidate = 'required|mimes:jpeg,png|max:2048';
    }
    //Validate video
    if (in_array($file->getMimeType() ,$videomimes)) {
            $filevalidate = 'required|file|mimes:mpeg,ogg,mp4,webm,3gp,mov,flv,avi,wmv,ts|max:4000040';
    }
    //validate audio
    if (in_array($file->getMimeType() ,$audiomimes)) {
            $filevalidate = 'required|file|mimes:audio/mpeg,mpga,mp3,wav,aac|max:90048';
    }

 $original = $file->getClientOriginalName();
 // get filename with extension like demo.php
 $filename = pathinfo($original)['basename'];
 // get public path to images folder
 $path = public_path('files');
 // concat public path with filename
 $filePath = $path.'/'.$filename;
 // store uploaded file to path
 $store = Storage::put($filePath, File::get($file));

 return back()->with('success', 'Media Uploaded Successfully')->with('path', $store);

}
}
}

  • Вы проверили файл laravel.log? 18.01.2020
  • Да в laravel.log тоже ничего нет 19.01.2020

Ответы:


1

Поле, которое вы отправляете из своего внешнего интерфейса, называется «файл», верно? Просто проверка.

Моя первая мысль заключается в том, что ваша программа может не попасть в ваш оператор if, что объясняет белый экран. Во-первых, я бы порекомендовал вам return var_dump($request->hasFile('file')); посмотреть, возвращает ли это значение true или false.

Тогда, может быть, попробуем return [$request->file('file')]; и посмотрим, что там написано... И тогда мы начнем с этого. Я не специалист, но думаю, что смогу немного помочь =)

18.01.2020
  • вы были правы, верните var_dump($request-›hasFile('file')); возвращает False и return [$request-›file('file')]; возвращает ноль 19.01.2020
  • Но файл - это имя вашего поля ввода? Что, если вы return $request->all(); 20.01.2020
  • Привет, @GregGelman, ты смог понять, в чем проблема? 22.01.2020
  • Еще нет, нет. Я попробую запрос все позже сегодня. Существует много рекомендаций о том, как делать изображения, но не о других типах файлов. Я просто хочу иметь возможность загружать любые файлы и независимо от их размера. 22.01.2020
  • Ну, не независимо от размера, в пределах, может быть, до 5 ГБ за раз. 22.01.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..