NodeJS使用七牛云存储上传文件的方法
发布时间 - 2026-01-11 02:29:44 点击率:次1-准备工作

确认安装node和npm
安装 qiniu,formidable,express模块
npm install --save qiniu formidable
[x] 导入模块
let qiniu = require('qiniu'),
formidable = require('formidable'),
express = require('express'),
router = express.Router();
2-服务器端的云存储操作
2-1文件上传
router.post('/qiniu', function (req, res, next) {
let bucket = 'myblog',
key = '',
form = formidable.IncomingForm(),
token, putPolicy;
form.uploadDir = path.join(__dirname, '../../', 'public/img/upload');
form.keepExtensions = true
form.parse(req, function (err, fields, files) {
if (err) {
console.log(err);
}
key = files.mypic.path.split(path.sep).pop();
putPolicy = new qiniu.rs.PutPolicy(bucket + ':' + key)
//设置回调
// putPolicy.callbackUrl = 'http://localhost:81/test/callback'
// putPolicy.callbackBody = 'filename=$(fname)&filesize=$(fsize)'
token = putPolicy.token()
console.log('token', token)
let extra = new qiniu.io.PutExtra()
qiniu.io.putFile(token, key, files.mypic.path, extra, function (err, ret) {
if (err) {
console.log(err)
}
console.log('ret', ret);
res.json({
token: token,
ret: ret,
files: files,
fields: fields
})
})
})
})
文件下载
router.get('/download/:key', function (req, res, next) {
let url = 'http://xxxx.bkt.clouddn.com/' + req.params.key,
policy = new qiniu.rs.GetPolicy();
console.log(url);
res.json({url: policy.makeRequest(url)})
})
文件获取
router.get('/info/:key', function (req, res, next) {
let bucket = 'myblog',
key = req.params.key,
client = new qiniu.rs.Client();
client.stat(bucket, key, (err, ret) => {
if (err) {
console.log(err);
}
res.json(ret);
})
})
总结
以上所述是小编给大家介绍的NodeJS使用七牛云存储上传文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# nodejs七牛云存储上传文件
# 七牛云
# nodejs
# 七牛云上传文件
# node ftp上传文件夹到服务器案例详解
# element-ui配合node实现自定义上传文件方式
# Node.js连接mongo数据库上传文件的方法步骤
# node.js实现上传文件功能
# Node.js上传文件功能之服务端如何获取文件上传进度
# 在Node.js中使用HTTP上传文件的方法
# nodejs 实现模拟form表单上传文件
# 在 node 中使用 koa-multer 库上传文件的方式详解
# 小编
# 在此
# 给大家
# 准备工作
# 所述
# 回调
# 给我留言
# 感谢大家
# 上传文件
# 文件上传
# 疑问请
# 有任何
# IncomingForm
# token
# myblog
# putPolicy
# form
# bucket
# res
# key
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Android利用动画实现背景逐渐变暗
EditPlus中的正则表达式 实战(2)
Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明
昵图网官网入口 昵图网素材平台官方入口
Laravel中的withCount方法怎么高效统计关联模型数量
如何在建站宝盒中设置产品搜索功能?
Android GridView 滑动条设置一直显示状态(推荐)
Laravel如何实现用户注册和登录?(Auth脚手架指南)
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
Laravel怎么实现验证码(Captcha)功能
如何破解联通资金短缺导致的基站建设难题?
iOS发送验证码倒计时应用
js实现获取鼠标当前的位置
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
如何在Windows虚拟主机上快速搭建网站?
Laravel怎么使用Intervention Image库处理图片上传和缩放
Laravel中的Facade(门面)到底是什么原理
javascript如何操作浏览器历史记录_怎样实现无刷新导航
jQuery中的100个技巧汇总
php json中文编码为null的解决办法
Laravel怎么为数据库表字段添加索引以优化查询
猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】
北京的网站制作公司有哪些,哪个视频网站最好?
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
如何在万网利用已有域名快速建站?
Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中
Laravel如何处理文件下载请求?(Response示例)
实例解析angularjs的filter过滤器
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
怎么用AI帮你设计一套个性化的手机App图标?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何在万网自助建站中设置域名及备案?
JS碰撞运动实现方法详解
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
Java垃圾回收器的方法和原理总结
微信小程序 scroll-view组件实现列表页实例代码
Android使用GridView实现日历的简单功能
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
如何快速选择适合个人网站的云服务器配置?
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】
如何快速辨别茅台真假?关键步骤解析
敲碗10年!Mac系列传将迎来「触控与联网」双革新
Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
上一篇:大良网站建设如何实现多终端覆盖?
上一篇:大良网站建设如何实现多终端覆盖?

