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

  

Node +FastDFS 实现文件的上传下载的更多相关文章

  1. 在Window的IIS中创建FTP的Site并用C#进行文件的上传下载

    文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服务器计算机上. 然后,远程计算机可以使用 FTP ...

  2. 创建FTP的Site并用C#进行文件的上传下载

    创建FTP的Site并用C#进行文件的上传下载 文件传输协议 (FTP) 是一个标准协议,可用来通过 Internet 将文件从一台计算机移到另一台计算机. 这些文件存储在运行 FTP 服务器软件的服 ...

  3. linux链接及文件互相上传下载

    若排版紊乱可查看我的个人博客原文地址 基本操作 本篇博客主要介绍如何去链接远程的linux主机及如何实现本地与远程主机之间文件的上传下载操作,下面的linux系统是CentOS6.6 链接远程linu ...

  4. Spring实现文件的上传下载

    背景:之前一直做的是数据库的增删改查工作,对于文件的上传下载比较排斥,今天研究了下具体的实现,发现其实是很简单.此处不仅要实现单文件的上传,还要实现多文件的上传. 单文件的下载知道了,多文件的下载呢? ...

  5. SocketIo+SpringMvc实现文件的上传下载

    SocketIo+SpringMvc实现文件的上传下载 socketIo不仅可以用来做聊天工具,也可以实现局域网(当然你如果有外网也可用外网)内实现文件的上传和下载,下面是代码的效果演示: GIT地址 ...

  6. JAVAWEB之文件的上传下载

    文件上传下载 文件上传: 本篇文章使用的文件上传的例子使用的都是原生技术,servelt+jdbc+fileupload插件,这也是笔者的习惯,当接触到某些从未接触过的东西时,总是喜欢用最原始的东西将 ...

  7. SSM框架之中如何进行文件的上传下载

    SSM框架的整合请看我之前的博客:http://www.cnblogs.com/1314wamm/p/6834266.html 现在我们先看如何编写文件的上传下载:你先看你的pom.xml中是否有文件 ...

  8. python使用ftplib模块实现FTP文件的上传下载

    python已经默认安装了ftplib模块,用其中的FTP类可以实现FTP文件的上传下载 FTP文件上传下载 # coding:utf8 from ftplib import FTP def uplo ...

  9. php文件夹上传下载控件分享

    用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助. 以下是实例的部分脚本文件 这里我先 ...

随机推荐

  1. js 点击列表li,获得当前li的id

    html <ul id="demo"> <li id="li-1">li1</li> <li id="li- ...

  2. 算法习题---4-1象棋(UVa1589)

    一:题目 在黑方只有一个“将”的情况下,红方只有(车.马.炮)(可以多个).帅的情况下,判断黑方是否被将死 (一)题目详解 其中棋盘按照坐标方式表示,左上角为(,),列数最大9,行数最大10 G 表示 ...

  3. npm教程、脚手架

    使用之前,我们先来掌握3个东西是用来干什么的. npm: Nodejs下的包管理器. webpack: 它主要的用途是通过CommonJS的语法把所有浏览器端需要发布的静态资源做相应的准备,比如资源的 ...

  4. Kafka——副本(Replica)机制

    副本定义 Kafka 是有主题概念的,而每个主题又进一步划分成若干个分区.副本的概念实际上是在分区层级下定义的,每个分区配置有若干个副本. 所谓副本(Replica),本质就是一个只能追加写消息的提交 ...

  5. (七)Centos之链接命令

    一.链接命令:ln  (link) ln -s [源文件] [目标文件] 功能描述:生成链接文件 选项: -s 创建软链接 二.硬链接 硬链接特征: 1,拥有相同的i节点和存储block块,可以看作是 ...

  6. 异步回收fork出的子进程(僵尸进程)

    #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h&g ...

  7. python面向对象之封装,继承,多态

    封装,顾名思义就是将内容封装到某个地方,以后再去调用被封装在某处的内容.在python的类中,封装即通过__init__函数将数据赋给对应的变量进行保存,便于其他地方使用 所以,在使用面向对象的封装特 ...

  8. iOS-AVFoundation生成缩略图

    使用MPMoviePlayerController来生成缩略图足够简单,但是如果仅仅是是为了生成缩略图而不进行视频播放的话,此刻使用 MPMoviePlayerController就有点大材小用了.其 ...

  9. 阿里云ecs自动创建快照教程

    最近在一个博客联盟的微信群里面看到经常有朋友问阿里云的ecs服务器怎么设置自动创建快照,也不知道最近是怎么了,看到问这个问题的朋友有有四五个左右了,今天就特意到博客里来费大家分享设置自动创建快照的方法 ...

  10. java基础系列(一):Number,Character和String类及操作

    这篇文章总结了Java中最基础的类以及常用的方法,主要有:Number,Character,String. 1.Number类 在实际开发的过程中,常常会用到需要使用对象而不是内置的数据类型的情形.所 ...