Вызов функции-члена getClientOriginalName () со значением null http://127.0.0.1: 8000 / upload-gambar - PullRequest
0 голосов
/ 22 апреля 2020

Я хочу загрузить изображение, используя Laravel файловую систему хранения в моих данных администратора. Однако при загрузке изображения возникает ошибка. пожалуйста, помогите мне. Вызов функции-члена getClientOriginalName ()

, это мой UploadController

<?php

 namespace App\Http\Controllers;

 use Illuminate\Http\Request;

class UploadController extends Controller
{

 public function form()
{
    return view('form-upload');
}

public function upload(Request $request)
{
    $file = $request->file('image');

  // Mendapatkan Nama File

  $nama_file = $file->getClientOriginalName();

  $uniqueFileName = uniqid() . $file->getClientOriginalName() . '.' . $file- 
  >getClientOriginalExtension();
  // Mendapatkan Extension File
  $extension = $file->getClientOriginalExtension();

  // Mendapatkan Ukuran File
  $ukuran_file = $file->getSize();

  // Proses Upload File
  $destinationPath = 'uploads';
  $file->move($destinationPath,$file->getClientOriginalName());

 }

 }

, а это мой upload-form.blade. php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tutorial Upload File Laravel - Belajarphp.net</title>
</head>
<body>
<h3>Script Upload File</h3>
<form action="upload-gambar" method="post" enctype="multipart/form-data">
{{ csrf_field() }}
<input type="file" name="gambar">
<Br>    
<button type="submit">Upload File</button> 
</form>
</body>
</html>

1 Ответ

0 голосов
/ 22 апреля 2020

Ну, ваша ошибка довольно очевидна; вы звоните getClientOriginalName() в ноль;

Ваша трассировка стека даже скажет вам, в какой строке какого файла она происходит.

В этом случае легко выяснить:

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

Получит файл из запроса с именем image.

Просмотрите поле формы для файла:

<input type="file" name="gambar">

Имя ввода gambar ; это то, что происходит в запросе как.

Таким образом, на данный момент $file равен null, поскольку в запросе отсутствует свойство с именем image.

Чтобы решить эту проблему, необходимо:

$file = $request->file('gambar');
...