【问题标题】:Laravel Lumen file upload with full pathLaravel Lumen 文件上传完整路径
【发布时间】:2017-05-26 05:53:59
【问题描述】:

我正在上传文件:

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

文件移动到project/public/uploads/user_files/cnic成功,

但也进入数据库的文件名具有远程服务器目录路径,如/var/www/html/baseApi/5927bcb59ba4fcar.png

我怎样才能像https://example.com/public/uploads/user_files/cnic/5927bcb59ba4fcar.png 这样存储文件名,以便仅访问文件名时使用它。

【问题讨论】:

    标签: php laravel file-upload remote-access lumen


    【解决方案1】:

    你可以替换

    $userDetails->cnicFrontUrl = $picName;
    

    与

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

    或

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

    【讨论】:

    • @linktohref .... 好的它已保存,但是一个小问题,我无法通过在浏览器中粘贴 url 从 url 获取图像,它给了我{"message":"not_found"}。我正在使用流明? apache 文档根是project/public。
    • @Yellow 那是因为您将上传的文件移到了非公开目录中。
    • @Alfa OP 将文件移动到 project/public/uploads/user_files/cnic 并且文档根目录是 project/public 不应该是公共目录吗?
    • 我的错,它应该。
    猜你喜欢
    • 2013-11-24
    • 2011-04-17
    • 2016-11-26
    • 1970-01-01
    • 2016-03-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    相关资源
    最近更新 更多