NodeJS移动文件
NodeJS
移动文件
- 都需要使用
fs
模块const fs = require('fs')
- 可选:使用
path
模块const path = require('path')
指定文件的上传路径 - 上传之后都需要删除文件的缓存
fs.unlinkSync
- 如果使用的是
eggjs
则可以调用ctx.cleanupRequestFiles()
清除文件的缓存 - 一下例子以
eggjs
框架为例 eggjs
中的文件上传需要在config.default.js
中加入代码,开启egg-multipart
const config = (exports = {multipart: {fileSize: "5mb",mode: 'file',}
})
1. 使用createReadStream
和createWriteStream
的方式
const {ctx} = this
// 获取上传的文件
const getFile = ctx.request.files[0]
// getFile.filepath 文件缓存的地址
// 创建 stream 流
const getReadStream = fs.createReadStream(getFile.filepath)
// path.join(__dirname,`../public/upload/avatar/`, 'test.txt') 指定文件保存的地址和文件名
// 写入文件的 stream 流
const getWriteStream = fs.createWriteStream(path.join(__dirname,`../public/upload/avatar/`, 'test.txt'))
getReadStream.pipe(getWriteStream)
// 清除上传的文件缓存
ctx.cleanupRequestFiles()
// 或者 fs.unlinkSync(getFile.filepath)
2. 使用readFileSync
和writeFileSync
的方式
const {ctx} = this
// 获取上传的文件
const getFile = ctx.request.files[0]
// getFile.filepath 文件缓存的地址
// 使用 try catch 捕获 error
try {const readFileData = fs.readFileSync(getFile.filepath)fs.writeFileSync(path.join(__dirname,`../public/upload/avatar/`, 'test.txt'))
} catch(err) {}
// 清除上传的文件缓存
ctx.cleanupRequestFiles()
// 或者 fs.unlinkSync(getFile.filepath)
3. 使用rename
出现的问题
try {fs.renameSync(getFile.filepath, path.join(__dirname, `../public/upload/avatar/`, 'test.txt'))ctx.body = no_data_success('文件上传成功')
} catch (error) {console.log(error, 'error')
}
NodeJS移动文件相关推荐
- 用nodejs 替换文件中所有图片的url
用nodejs 替换文件中所有图片的url 因业务需求,大量文件需要替换url到不同的环境. 所以用nodejs写了这个.本来想用python写,但是大部分同事只有nodejs环境. 主要的命令nod ...
- ajax传图片以及后台接收,前端ajax上传文件,图片,后端nodejs接收文件;
前端ajax上传文件,图片,后端nodejs接收文件: 学习了nodejs,就想实现一下有进度条的文件上传,html 在作这个功能的时候遇到的问题前端 用普通的ajax没法实现文件上传,只能post, ...
- 服务器监控文件变化,如何使用nodejs监控文件变化并使用sftp上传到服务器
如何使用nodejs监控文件变化并使用sftp上传到服务器 发布时间:2021-07-01 12:06:56 来源:亿速云 阅读:99 作者:小新 这篇文章主要为大家展示了"如何使用node ...
- node 自动上传文件到服务器,利用nodejs监控文件变化并使用sftp上传到服务器
最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器) 然后因为经常要改动,而且又要放到服务器上进行测试.总是要webpack,然后手动把文件上传上去,不胜其烦,索性搜索了下 ...
- nodejs 获取文件路径_Qunar 酒店 Nodejs 覆盖率收集实践
作者介绍 马涛,2013 年加入去哪儿网技术团队,目前在目的地事业部,负责 H5.小程序类应用开发.个人对移动端技术领域和前后端工程化有浓厚兴趣,勇于探索实践追求极致. 概述 一般来讲我们是通过写单元 ...
- nodeJs实现文件上传,下载,删除
转:https://blog.csdn.net/qq_36228442/article/details/81709272 一.简介 本文介绍了nodeJs+express框架下,用multer中间件实 ...
- nodejs 当前文件路径_NodeJs的几种文件路径
上次写删除文件夹的时候用到了fs模块,也集中用到了很多种路径,当时就想写一下,在Node中使用各种路径的问题,于是就简单写了一下,可以从 这里 获取demo源代码. 刚写Node的时候经常会遇到这种情 ...
- nodejs 获取文件路径_Nodejs读取文件时相对路径的正确写法(使用fs模块)
在开发Nodejs中,我们往往最常用的模块就是fs核心模块(fs.readFile)来读取文件.代码如下: 但是运行之后,并没有按照想象中一样,读取test.html文件内容,这是一个bug,坑爹的玩 ...
- nodejs写html文件路径,Nodejs读取文件时相对路径的正确写法(使用fs模块)
搜索热词 在开发Nodejs中,我们往往最常用的模块就是fs核心模块(fs.readFile)来读取文件.代码如下: 但是运行之后,并没有按照想象中一样,读取test.html文件内容,这是一个bug ...
最新文章
- 四十七、磁盘调度算法
- 正则词典 - 开源项目
- 单片机can通信可以接多少个设备_51单片机的多机并行通信系统应用
- 用时间换才华:李开复给创业者的7条时间管理建议 【转载】
- python多线程处理图片_Python斗图网多线程爬取图片
- Amazon Aurora Serverless MySQL已正式可用
- LeetCode 794. 有效的井字游戏(分类讨论)
- 【LeetCode笔记】226. 翻转二叉树(Java、递归)
- 面试精讲之面试考点及大厂真题 - 分布式专栏 22 分布式系统下调用链追踪技术
- 火狐浏览器设置url编码_关于不同浏览器对URL编码的分析(转)
- 用FPGA实现视频中物体边缘二值化
- 利用国内镜像加快pip下载速度和成功率
- Oracle内部错误ORA-07445[kpopfr()+339] [SIGFPE]一例
- 处理器架构 (十三) ARMv6架构下 各微架构的不同
- [优化算法] 拉丁超立方采样与基于优化的均匀采样
- 整人代码好玩到没朋友
- 通过精读一本英文技术书籍搞定英语
- Javascript复习必记知识点
- python数据分析经典书籍有哪些_数据分析有哪些好书值得推荐?
- 高匿代理,混淆代理,匿名代理,透明代理略解
热门文章
- 7 个python GUI库,假期学会立马用起来~
- 慧荣SM2320量产工具开卡软件,sm2320固态硬盘用量产工具开卡简略教程
- 人工智能Java SDK:kafka-情感倾向分析【英文】
- 实习日志 08/14更新
- VS2015+QT环境配置后,Lauch Qt Designer打开失败,无法打开*.ui文件
- pytorch的register_buffer
- 万字长文讲解:什么是「抽象」?
- 币图网_教你必须了解的智能合约,共识机制,分布式存储以及密码学
- 【微信小程序】实现上拉加载更多
- jango中如何使用django-celery完成异步任务 (1)