• Laravel


    1、为了访问方便,将上传的文件保存在 public 目录下,需要进行修改配置。

    找到 config/filesystems.php 文件然后修改 root、具体如下:

    'local' => [
        'driver' => 'local',
        // 'root' => storage_path('app'),
        'root' => public_path()
    ],
    
    'public' => [
        'driver' => 'local',
        // 'root' => storage_path('app/public'),
        'root' => public_path(),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],
    

    2、配置路由,指定上传页面;

    // 上传页面
    Route::get('/upl', function(){
        return view('Users.upload');
    });
    

    3、创建并编辑上传页面;

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>上传</title>
    </head>
    
    <body>
        <form action="uplDo" method="post" enctype="multipart/form-data">
            <!-- 文件上传使用 post 提交方式、需要加 csrf 保护-->
            @csrf
            文件上传:
            <input type="file" name="file" id="">
            <input type="submit" value="提交">
        </form>
    </body>
    
    </html>
    

    4、配置路由绑定控制器和方法,用于执行上传操作;

    // 执行上传
    Route::post('/uplDo', 'UsersController@uplDo');
    

    5、在控制器接收数据,获取上传的文件信息;

    /**
     * 文件上传
     */
    
    public function uplDo( Request $request )
    {
        // 获取上传的文件
        $file = $request->file('file');
        // 获得上传文件的原始名称 getClientOriginalName
        // 040106.jpg
        echo $file->getClientOriginalName();
        // 获取上传文件的文件扩展名 extension
        // jpg
        echo $extension = $file->extension();
        // 获取上传文件的大小 
        // 29514
        echo $file->getSize();
        // 检测上传的文件是否合法,返回值为true或false
        // 1
        echo $file->isValid();
        // 获取上传后保存的路径
        // php/NKtwzdR5l1zkeqKzc8YK36HpaB6TSdkRvBoyjlhq.jpeg
        echo $file->store('php');
        // 最终的保存路径是在 ../Laravel7/public/php/NKtwzdR5l1zkeqKzc8YK36HpaB6TSdkRvBoyjlhq.jpeg
    }
    
  • 相关阅读:
    Windows下配置nginx+php(wnmp)
    nginx缓存优先级(缓存问题者必看)
    OpenResty(Nginx)+Lua+GraphicsMagick实现缩略图功能
    M3U8文件简介
    拼车旅游网站 导航
    将jsp页面内容保存到excel(转)
    queryRuner如何获得bean对象,当这个bean对象中包含其他对象的时候
    js的trim方法(转)
    二进制运算误差问题
    myeclipes如何调试web项目
  • 原文地址:https://www.cnblogs.com/laowenBlog/p/12764540.html
Copyright © 2020-2023  润新知