发布了一个适用于 Express 的通用文件上传库:express-fileuploader
发布于 1年前 作者 heroicyang 882 次浏览

同样也是在开发 nodediscuss 的过程中实现的,现在单独拆分出来作为一个库,方便有文件上传需求的同学们。

GitHub: https://github.com/heroicyang/express-fileuploader

特性

  • 在上传成功之后自动删除临时文件(原因请参见这里
  • 不负责 multipart 解析,你可以自由选择 multipart parser
  • 插件式,可插拔
  • 可根据自己的需求自定义上传逻辑(Strategy),比如将文件上传至 Dropbox
  • 正在不断增加的各种 Strategy,内置上传至服务器本地目录的 LocalStrategy。另外,现在已经实现了上传至七牛云存储的 QiniuStrategy

安装

npm install express-fileuploader --save

使用

var http = require('http');
var express = require('express');
var mutilpart = require('connect-multiparty');
var uploader = require('express-fileuploader');

var app = express();
app.use('/upload/image', mutilpart());

uploader.use(new uploader.LocalStrategy({
  uploadPath: '/uploads',
  domain: 'http://127.0.0.1:8000'
}));

app.post('/upload/image', function(req, res, next) {
  uploader.upload('local', req.files['images'], function(err, files) {
    if (err) {
      return next(err);
    }
    res.send(JSON.stringify(files));
  });
});

http.createServer(app).listen(8000);

更多请参见 GitHub

回到顶部