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. Android中为什么主线程不会因为Looper.loop()方法造成阻塞

    很多人都对Handler的机制有所了解,如果不是很熟悉的可以看看我 如果看过源码的人都知道,在处理消息的时候使用了Looper.loop()方法,并且在该方法中进入了一个死循环,同时Looper.lo ...

  2. PHPStorm_CI3框架代码提示

    链接:https://pan.baidu.com/s/12lpkjRXod5yZINqcF6S6og  密码:t6if

  3. JavaScript箭头函数(Lambda表达式)

    箭头函数也叫lambda表达式 据说其主要意图是定义轻量级的内联回调函数 栗有: 1 var arr = ["wei","ze","yang" ...

  4. sppNet论文学习

    Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition 深度神经网络中用于视觉识别的空间金字塔池化 ...

  5. Javescript——变量声明的区别

    原文链接:ES6 Syntax and Feature Overview View on GitHub Keyword Scope Hoisting Can Be Reassigned Can Be ...

  6. 【417】一条语句编译并执行C语言

    参考:shell学习笔记(1)Linux下在一行执行多条命令 要实现在一行执行多条Linux命令,分三种情况: 1.&& 举例: lpr /tmp/t2 && rm / ...

  7. ubuntu 17.04 Tomcat安装

    安装Tomcat分为两步: JDK和Tomcat 安装jdk 1.在oralce官网下载jdk

  8. MySQL5.1中文文档学习笔记——第1章:一般信息(一)

    原文地址 MySQL软件是一种开放源码软件. 开放源码"意味着任何人都能使用和改变软件.任何人都能从Internet下载MySQL软件,而无需支付任何费用.如果愿意,你可以研究源码并进行恰当 ...

  9. react中,用key值来解决一些奇葩问题

    编辑用户信息,角色信息无法加载到值 改进之后:思路:由于值是设置在state里面的,界面编辑时,会重服务器拉去数据,值也设置在state里面了,但是CheckboxGroup依然不会去渲染选中的值, ...

  10. DOS与cmd(windows)

    dos是计算机的最初期的操作系统,对电脑操作必须输入各种dos命令窗口,可以理解成运行计算机机器内部语言,知道编程吗?其实早期dos命令操作系统就是运行计算机内部的编程命令,因此操作人员都必须具有一定 ...