Node.js

Node 文件上传 multer

2017-06-09  本文已影响73人  梁同桌

话说我还是不建议 Node 服务器来储存文件,我计算过服务器宽带费用和CSDN一起使用比七牛云存储还贵,所以我们还是用七牛; 我们前端把文件存到七牛后,然后把 url 发送到我们服务器。这样解耦,费用也不高。

app.js

var fs = require('fs');
var express = require('express');
var multer = require('multer')

var app = express();
var upload = multer({
    dest: 'upload/'
});

// 单图上传
//multer有single()中的名称必须是表单上传字段的name名称。
app.post('/upload', upload.single('logo'), function(req, res, next) {
    
    var file = req.file;
    console.log('文件类型:%s', file.mimetype);
    console.log('原始文件名:%s', file.originalname);
    console.log('文件大小:%s', file.size);
    console.log('文件保存路径:%s', file.path);

    res.send({
        ret_code: '0'
    });
});

app.get('/form', function(req, res, next) {
    var form = fs.readFileSync('./form.html', {
        encoding: 'utf8'
    });
    res.send(form);
});

app.listen(3000);

form.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>上传图片</title>

</head>

<body>
    <form action="/upload" method="post" enctype="multipart/form-data">
        <h2>单图上传</h2>
        <input type="file" name="logo">
        <input type="submit" value="提交">
    </form>
</body>

</html>

项目地址:https://github.com/liangtongzhuo/upFile

上一篇 下一篇

猜你喜欢

热点阅读