koa文件上传中间件——koa-multer
koa-multer用法基本和multer一致,npm里koa-multer的用法介绍比较简单,可以参考multer的用法
const Koa = require('koa');
const Router = require('koa-router');
const multer = require('koa-multer');
const path = require('path'); const server = new Koa(); let storage = multer.diskStorage({
destination: path.resolve('upload'),
filename: (ctx, file, cb)=>{
cb(null, file.originalname);
}
});
let fileFilter = (ctx, file ,cb)=>{
//过滤上传的后缀为txt的文件
if (file.originalname.split('.').splice(-1) == 'txt'){
cb(null, false);
}else {
cb(null, true);
}
}
let upload = multer({ storage: storage, fileFilter: fileFilter }); let router = new Router();
router.post('/upload', upload.single('file'), async ctx => {
if (ctx.req.file){
ctx.body = 'upload success';
} else {
ctx.body = 'upload error';
}
});
server.use(router.routes()); server.listen(8080, ()=>{
console.log('usage: curl http://localhost:8080/upload -F "file=@1.jpg"');
});
koa文件上传中间件——koa-multer的更多相关文章
- express文件上传中间件Multer详解
express文件上传中间件Multer详解 转载自:https://www.cnblogs.com/chengdabelief/p/6580874.html Express默认并不处理HTTP请 ...
- Node.js:上传文件,服务端如何获取文件上传进度
内容概述 multer是常用的Express文件上传中间件.服务端如何获取文件上传的进度,是使用的过程中,很常见的一个问题.在SF上也有同学问了类似问题<nodejs multer有没有查看文件 ...
- 5. 文件上传下载 与 db数据库
文件上传 formidable multer npm i formidable multer 如何使用见: https://www.npmjs.com/ util.inspect 自己查 文件上传:表 ...
- 关于ajax 异步文件上传 node 文件后台接口
<body> <img src="" alt="" id="img"> <input type="f ...
- koa 实现上传文件
项目目录: 1.上传单个文件 思路: (1)获取上传文件,使用 const file = ctx.request.files.file (2)我们使用 fs.createReadStream 来读取文 ...
- node应用通过multer模块实现文件上传
multer用于处理文件上传的nodejs中间件,主要跟express框架搭配使用,只支持表单MIME编码为multipart/form-data类型的数据请求. 如果要处理其他编码的表单数据可以通过 ...
- node.js中 express + multer 处理文件上传
multer中间件,可以很方便的结合express处理用户表单上传的文件. 一.安装multer npm install multer 二.处理单个文件上传 const express = requi ...
- Express文件上传之Multer
Express文件上传之Multer Multer是一个nodejs中间件,用来处理http提交multipart/form-data,也就是文件上传.它是在busboy的基础上开发的. 在我看来,M ...
- nodejs+multer+ajax文件上传
前端 html代码 + ajax代码 form表单(无需指定action) <form enctype="multipart/form-data" method=" ...
随机推荐
- Java代码优化总结(持续更新)
1.对equals不熟 例子 if(user.get("s").equals("ss")){ //一堆代码 } 注:一旦前端页面传null值过来,就错了,nul ...
- Docker & pure-ftpd 快速加建 FTP 服务器
项目需要进行升级服务,现在需要基于centos 7使用docker来快速打架一个FTP环境来方便本地文件上传. 本次使用的是 pure-ftpd docker镜像,有关镜像使用的详细信息,本人是从 h ...
- MyBatis笔记----多表关联查询两种方式实现
数据库 方式一:XML 按照下面类型建立article表 Article.java package com.ij34.model; public class Article { private int ...
- [20181229]关于字符串的分配问题.txt
[20181229]关于字符串的分配问题.txt --//链接:http://www.itpub.net/thread-2107534-1-1.html提到的问题,里面一段英文读起来很绕口:--//百 ...
- SQL Server基础之登陆触发器
虽然同表级(DML)触发器和库级(DDL)触发器共顶着一个帽子,但登陆触发器与二者有本质区别.无论表级还是库级,都是用来进行数据管理的,而登陆触发器是纯粹的安全工具. 登陆触发器只响应LOGON事件, ...
- 自动化测试基础篇--Selenium中数据参数化之TXT
摘自https://www.cnblogs.com/sanzangTst/p/7722594.html 一.搜索参数化 在TXT文件中保存需要搜索的内容: 测试代码: 1 #!/usr/bin/env ...
- LeetCode算法题-Longest Palindrome(五种解法)
这是悦乐书的第220次更新,第232篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第87题(顺位题号是409).给定一个由小写或大写字母组成的字符串,找到可以用这些字母构 ...
- June 14. 2018 Week 24th Thursday
Good friends, good books, and a sleepy conscience: this is the ideal life. 拥有益友.良书和一颗宁静的内心:这就是理想的生活. ...
- Mac中如何查找文件
https://blog.csdn.net/fungleo/article/details/78489552
- UVA1607-Gates(思维+二分)
Problem UVA1607-Gates Accept: 111 Submit: 767Time Limit: 3000 mSec Problem Description Input The fi ...