2017-05-26 7 views
0

Ich lade die Datei:Laravel Lumen Datei-Upload mit vollständigen Pfad

if ($request->hasFile('cnicFrontUrl')) { 
    $picName = $request->file('cnicFrontUrl')->getClientOriginalName(); 
    $picName = base_path() . uniqid() . $picName; 
    $destinationPath = "uploads/user_files/cnic"; 
    $request->file('cnicFrontUrl')->move($destinationPath, $picName); 
    $userDetails->cnicFrontUrl = $picName; 
} 

Die Datei bewegt sich in die project/public/uploads/user_files/cnic erfolgreich,

Aber der Dateiname, die auch in die Datenbank geht haben den Remote-Server Verzeichnispfad wie /var/www/html/baseApi/5927bcb59ba4fcar.png

Wie kann ich in der Lage sein, den Dateinamen wie https://example.com/public/uploads/user_files/cnic/5927bcb59ba4fcar.png zu speichern, so kann es verwendet werden nur Zugriff auf den Dateinamen sein.

Antwort

0

Sie könnten

$userDetails->cnicFrontUrl = $picName; 

mit

$userDetails->cnicFrontUrl = url("/public/uploads/user_files/cnic")."/".uniqid(). 
            $request->file('cnicFrontUrl') 
              ->getClientOriginalName(); 

oder

$userDetails->cnicFrontUrl = asset($destinationPath. "/" . uniqid() . 
            $request->file('cnicFrontUrl') 
              ->getClientOriginalName()); 
+0

@linktohref ersetzen .... Okay, es gespeichert wird, aber ein kleines Problem, ich kann das nicht bekommen Bild von der URL durch Einfügen der URL im Browser, Es gibt mir '{" Nachricht ":" not_found "}'. Ich benutze Lumen? Das Apache-Dokument root ist 'project/public'. – Yellow

+0

@Yellow, weil Sie die hochgeladene Datei in ein nicht öffentliches Verzeichnis verschoben haben. – Alfa

+0

@Alfa OP hat die Datei nach 'project/public/uploads/user_files/cnic' verschoben und der Dokumentstamm ist 'project/public' sollte das nicht das öffentliche Verzeichnis sein? – linktoahref