zoukankan      html  css  js  c++  java
  • Node +FastDFS 实现文件的上传下载

    npm install fastdfsl-client

    //--------------------------------配置文件------------------------------------------------
    let FdfsClient = require('fastdfs-client');
    let fdfs = new FdfsClient({
        // tracker servers
        trackers: [
            {
                host: '49.233.50.185',
                port: 22122
            }
        ],
        // 默认超时时间10s
        timeout: 10000,
        // 默认后缀
        // 当获取不到文件后缀时使用
        defaultExt: 'txt',
        // charset默认utf8
        charset: 'utf8'
    });
    
    //--------------------------------上传文件--------------------------------------------------
    // fdfs.upload('E:\wsl1.jpeg', {
    //     // 上传方法 [upload, uploadAppender, append, modify], 默认为upload
    //     method: 'upload',
    //     // 指定文件存储的group,不指定则由tracker server分配
    //     group: 'group1',
    //     // method为append或modify指定追加的源文件
    //     fileId: 'group1/M00/00/0F/wKgBeFXlZJuAdsBZAAPm5H9JxDA153.jpg',
    //     // file bytes, file参数为ReadableStream时必须指定
    //     size: 1024,
    //     // method为modify指定追加的源文件的起始点
    //     offset: 10240,
    //     // 上传文件的后缀,不指定则获取file参数的后缀,不含(.)
    //     ext: 'jpg'
    // }).then(function(fileId) {
    //     // fileId 为 group + '/' + filename
    //     console.log("上传图片的返回==============>fileId 为 group + '/' + filename:======>>"+fileId);
    // }).catch(function(err) {
    //     console.error(err);
    // });
    
    //--------------------------------删除文件--------------------------------------------------
    // let fileId = "group1/M00/00/00/rBUACF2B-E-AdwypAAHlUvTq5Uw301.jpg";
    // fdfs.del(fileId).then(function() {
    //     console.log("删除成功:========>>")
    // }).catch(function(err) {
    //     console.error("删除失败:=======>>",+err);
    // });
    
    //---------------------------------查看文件--------------------------------------------------
    // let fileId = "group1/M00/00/00/rBUACF2B8-eARPdgAAHlUvTq5Uw20.jpeg";
    // fdfs.getFileInfo(fileId).then(function(fileInfo) {
    //     // fileInfo有4个属性
    //     // {
    //     //   // 文件大小
    //     //   size:
    //     //   // 文件创建的时间戳,单位为秒
    //     //   timestamp:
    //     //   // 校验和
    //     //   crc32:
    //     //   // 最初上传到的storage server的ip
    //     //   addr:
    //     // }
    //     console.log({
    //         "size":fileInfo.size,
    //         "timestamp":fileInfo.timestamp,
    //         "crc32":fileInfo.crc32,
    //         "addr":fileInfo.addr,
    //     });
    // }).catch(function(err) {
    //     console.error(err);
    // });
    
    //----------------------------------下载文件----------------------------------------------
    // let fileId = "group1/M00/00/00/rBUACF2B96CAf2NpAAHlUvTq5Uw32.jpeg";
    // fdfs.download(fileId,'test_download.gif').then(function() {
    //     console.log("下载完成")
    // }).catch(function(err) {
    //     console.error(err);
    // });
    

      

  • 相关阅读:
    vue项目开发流程
    板子-补充
    Python 类对象的JSON序列化与反序列化
    Maven中央仓库地址配置大全
    Docker 中搭建 MySQL 主从复制
    mac 上必备的工具
    iTerm 中 oh my zsh 主题去掉 git 目录多级显示
    iTerm2 主题设置
    MySQL查看表占用空间大小
    MySQL 语句报错:1093
  • 原文地址:https://www.cnblogs.com/w-s-l123/p/11544019.html
Copyright © 2011-2022 走看看