Prześlij i obsługuj plik i obraz w Laravel

Zdefiniuj pole upload w formularzu

Najpierw dodaj <input type="file"> pole do formularza HTML, aby umożliwić użytkownikom wybranie pliku lub obrazu do przesłania.

<form method="POST" action="{{ route('upload') }}" enctype="multipart/form-data">  
    @csrf  
    <input type="file" name="file">  
    <button type="submit">Upload</button>  
</form>  

 

Obsłuż żądanie przesyłania

W Laravel kontrolerze możesz obsłużyć żądanie przesłania w metodzie. Użyj Illuminate\Http\Request obiektu, aby uzyskać dostęp do przesłanego pliku i wykonać niezbędne operacje obsługi.

use Illuminate\Http\Request;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        // Handle the file here  
    }  
}  

 

Zapisz plik

Laravel zapewnia store metodę przechowywania przesłanego pliku. Po prostu wywołaj tę metodę na obiekcie pliku i podaj żądaną ścieżkę przechowywania.

$path = $file->store('uploads');

 

Zajmij się obrazem

Jeśli potrzebujesz obsłużyć obraz, na przykład zmienić rozmiar, przyciąć lub zastosować filtry, możesz użyć biblioteki przetwarzania obrazu, takiej jak Intervention Image. Najpierw zainstaluj pakiet Intervention Image za pomocą programu Composer:

composer require intervention/image

Następnie możesz użyć metod biblioteki do przetworzenia obrazu.

use Intervention\Image\Facades\Image;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        $image = Image::make($file);  
        // Handle the image here  
    }  
}  

 

Wyświetl przesłany plik i obraz

Na koniec możesz wyświetlić przesłany plik i obraz w interfejsie użytkownika. Użyj Laravel metod pomocniczych programu, aby wygenerować publiczne adresy URL dla przechowywanego pliku i obrazu i użyj ich w HTML lub CSS.

$url = asset('storage/'. $path);

 

Możesz użyć $url zmiennej w HTML lub CSS, aby wyświetlić przesłany plik lub obraz.

 

Wykonując te kroki i korzystając z Laravel wbudowanych funkcji programu, możesz łatwo przesyłać i obsługiwać pliki i obrazy w swojej Laravel aplikacji.