2017-05-26 1 views
0

Je télécharger le fichier:Laravel upload de fichier Lumen avec le chemin complet

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; 
} 

Le fichier se déplace vers la project/public/uploads/user_files/cnic avec succès,

Mais le nom du fichier qui va également à la base de données ont le chemin du répertoire de serveur distant comme /var/www/html/baseApi/5927bcb59ba4fcar.png

Comment puis-je être en mesure de stocker le nom de fichier comme https://example.com/public/uploads/user_files/cnic/5927bcb59ba4fcar.png il peut donc être utilisé seulement l'accès au nom de fichier.

Répondre

0

Vous pouvez remplacer

$userDetails->cnicFrontUrl = $picName; 

avec

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

ou

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

@linktohref .... Ok il est enregistré, mais un petit problème, je ne peux pas obtenir le image de l'url en collant l'URL dans le navigateur, il me donne '{" message ":" not_found "}'. J'utilise lumen? La racine du document apache est 'project/public'. – Yellow

+0

@Yellow c'est parce que vous avez déplacé le fichier téléchargé dans un répertoire non public. – Alfa

+0

@Alfa OP déplacé le fichier à 'project/public/uploads/user_files/cnic' et la racine du document est' projet/public' ne devrait-il pas être le répertoire public? – linktoahref