在线直播系统源码,Node.js中使用Koa实现上传图片功能
在线直播系统源码,Node.js中使用Koa实现上传图片功能
1、安装koa-body,以实现上传图片功能
1 | <br>npm i koa-body@4.1.0 |
注:如果之前安装了koa-bodyparser,还需要先卸载koa-bodyparser,并把所有koa-bodyparser替换成koa-body
1 | <br>npm uninstall koa-bodyparser |
2、安装koa-static,以实现静态资源托管,通过配置静态资源中间件,从而生成图片链接
1 | <br>npm i koa- static @5.0.0 |
3、代码示例
图片上传到 /public/uploads 文件夹中。
后端代码示例:index.js
1 | <br> const Koa = require ( 'koa' )<br> const app = new Koa()<br> const Router = require ( 'koa-router' )<br> const router = new Router() <br> <br> const path = require ( 'path' )<br> // 1、引入koa-body实现上传图片功能<br>const koabody = require('koa-body')<br>app.use(koabody({<br> multipart: true, //支持图片文件<br> formidable: {<br> uploadDir: path.join(__dirname, '/public/uploads'), //设置上传目录<br> keepExtensions: true, //保留拓展名<br> }<br>}))<br> <br>// 2、引入koa-static实现生成图片链接<br>const koaStatic=require('koa-static')<br>app.use(koaStatic(path.join(__dirname, 'public')))<br>// 在浏览器使用http://localhost:3000/uploads/a0e924abb5ab8d1893b06f200.jpg可以访问图片<br>// app.use(koaStatic(path.join(__dirname, 'static'))) // 可以配置多个静态资源中间件<br> <br>// 挂载路由<br>router.get('/upload', (ctx) => { // 上传图片<br> const file = ctx.request.files.file //ctx.request.files.file中的file需要与前端使用的名称保持一致<br> const basename = path.basename(file.path) //传入绝对路径返回的basename为文件名称+拓展名<br> ctx.body = {<br> url:`${ctx.origin}/uploads/${basename}` //ctx.origin为http://localhost:3000<br> }<br>})<br> <br>// 注册路由中间件<br>app.use(router.routes())<br> <br>app.listen(3000) |
前端代码示例:/public/uploadpic.html
1 | <br><form action= "/upload" enctype= "multipart/form-data" method= "post" ><br> <input type= "file" name= "file" accept= "image/png image/jpg" ><br> <button type= "submit" >上传图片</button><br></form> |
以上就是在线直播系统源码,Node.js中使用Koa实现上传图片功能, 更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2022-04-18 视频直播app源码,实现进度条的自增长和颜色渐变
2022-04-18 短视频直播系统,简单形势下的确定/取消弹窗按钮
2022-04-18 短视频直播源码,点击按钮,按钮有被点击反馈效果