So laden Sie mehrere Bilddateien über die API in Laravel hoch

In diesem Tutorial erfahren Sie, wie Sie mit Postman in der Laravel 8-App mehrere Bilddateien über die API hochladen. Führen Sie die folgenden Schritte aus, um mehrere Bilddateien über die API mithilfe von Postman in Laravel 8-Anwendungen hochzuladen:

  • Schritt 1: Installieren Sie die Laravel 8-App
  • Schritt 2: Datenbankkonfiguration mit App
  • Schritt 3: Migration und Modell durchführen
  • Schritt 4: Erstellen Sie API-Routen
  • Schritt 5: API-Controller von Artisan generieren
  • Schritt 6: Entwicklungsserver ausführen
  • Schritt 7: Hochladen mehrerer Laravel-Bilddateien über die API mit PostMan

Schritt 1: Installieren Sie die Laravel 8-App

Öffnen Sie zunächst Ihr Terminal und führen Sie den folgenden Befehl aus, um das Laravel Fresh-Anwendungs-Setup zum Hochladen von Dateien über die Laravel-API zu installieren oder herunterzuladen:

composer create-project --prefer-dist laravel/laravel Blog

Schritt 2: Datenbankanmeldeinformationen hinzufügen

Navigieren Sie als Nächstes zum Stammverzeichnis Ihrer heruntergeladenen Laravel-App und öffnen Sie die .env-Datei . Fügen Sie dann Ihre Datenbankdetails wie folgt in die .env-Datei ein:

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=here your database name here
DB_USERNAME=here database username here
DB_PASSWORD=here database password here

Schritt 3: Migration und Modell durchführen

Öffnen Sie in diesem Schritt eine Eingabeaufforderung und führen Sie den folgenden Befehl aus:

php artisan make:model Image -m

Dieser Befehl erstellt eine Modellnamendatei und eine Migrationsdatei für die Bildertabelle .

Navigieren Sie dann zum Ordner „database/migrations“ und öffnen Sie „create_images_table.php“ . Aktualisieren Sie dann den folgenden Code in create_images_table.php :

<?php
 
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
 
class CreateImagesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('images', function (Blueprint $table) {
            $table->increments('id');
            $table->string('title');
            $table->string('path');
            $table->timestamps();
        });
    }
 
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('images');
    }
}

Führen Sie anschließend den folgenden Befehl aus, um die Tabelle in Ihre ausgewählte Datenbank zu migrieren:

php artisan migrate

Schritt 4: Erstellen Sie eine API-Route

Navigieren Sie in diesem Schritt zum Ordner app/routes und öffnen Sie die Datei api.php . Aktualisieren Sie dann die folgenden Routen in Ihrer api.php- Datei:

use App\Http\Controllers\API\MultipleUploadController;
 
Route::post('multiple-image-upload', [MultipleUploadController::class, 'upload']);

Schritt 5: API-Controller von Artisan generieren

Öffnen Sie in diesem Schritt Ihr Terminal und führen Sie den folgenden Befehl aus:

php artisan make:controller API\MultipleUploadController

Beachten Sie, dass dieser Befehl einen Controller mit dem Namen MultipleUploadController.php erstellt .

Jetzt den Ordner app/http/controllers/API öffnen und MultipleUploadController.php öffnen . Aktualisieren Sie dann die folgenden Datei-Upload-Methoden in Ihrer MultipleUploadController.php- Datei:

<?php
 
namespace App\Http\Controllers\API;
 
use App\Http\Controllers\Controller;
 
use App\Models\Image;
 
use Validator;
 
use Illuminate\Http\Request;
 
class MultipleUploadController extends Controller
{
 
public function store(Request $request)
{
    if(!$request->hasFile('fileName')) {
        return response()->json(['upload_file_not_found'], 400);
    }
 
    $allowedfileExtension=['pdf','jpg','png'];
    $files = $request->file('fileName'); 
    $errors = [];
 
    foreach ($files as $file) {      
 
        $extension = $file->getClientOriginalExtension();
 
        $check = in_array($extension,$allowedfileExtension);
 
        if($check) {
            foreach($request->fileName as $mediaFiles) {
 
                $path = $mediaFiles->store('public/images');
                $name = $mediaFiles->getClientOriginalName();
      
                //store image file into directory and db
                $save = new Image();
                $save->title = $name;
                $save->path = $path;
                $save->save();
            }
        } else {
            return response()->json(['invalid_file_format'], 422);
        }
 
        return response()->json(['file_uploaded'], 200);
 
    }
}
 
}

Schritt 6: Entwicklungsserver ausführen

Führen Sie in diesem Schritt den folgenden Befehl aus, um den Entwicklungsserver zu starten:

 php artisan serve

Schritt 7: Hochladen mehrerer Laravel-Bilddateien über die API mit PostMan

Schließlich das Hochladen mehrerer Bilddateien über Laravel 8-APIs mithilfe der Postman-App . Starten Sie also die Postman-App und verwenden Sie die folgende URL, um mehrere Bilddateien über die API in der Laravel 8-App hochzuladen:

http://127.0.0.1:8000/multiple-image-upload

In diesem Tutorial haben Sie gelernt, wie Sie mithilfe von Postman mehrere Bilddateien in Laravel 8-Apps über die API hochladen.

1.00 GEEK