angular express 上传图片

angular express 上传图片

做了好几天,集合很多文章之后,修改完才弄好的,接下来看代码
express


var express = require('express');
var router = express.Router();
var fs = require('fs');
var multer = require('multer');

// 使用硬盘存储模式设置存放接收到的文件的路径以及文件名
var storage = multer.diskStorage({
    destination: function (req, file, cb) {
        cb(null, 'upload/');
    },
    filename: function (req, file, cb) {
        cb(null, file.originalname);
        // console.log(file)
    }
});

// // 创建文件夹
var createFolder = function (folder) {
    try {
        fs.accessSync(folder);
    } catch (e) {
        fs.mkdirSync(folder);
    }
};

var uploadFolder = './upload/';
createFolder(uploadFolder);

// 创建 multer 对象
var upload = multer({ storage: storage });
/* POST upload listing. */

router.post('/', upload.array('files'), function (req, res, next) {
    var file = req.files;
    console.log(req.body)
});

// 导出模块(在 inswx.js 中引入)这个引入不会的话留言给我,我再加上去吧
module.exports = router;

angular

*html*
<input type="file" id="fileId" (change)="getfiledata($event.target.files)" multiple>

*ts*
getfiledata(e) {
    var fileData = new FormData()
    for (var i = 0, file; file = e[i]; i++) {
      fileData.append('files', file) 
      注意这里的'files',在express中和upload.array('files')要一样,不一样的话会报错,只有这里的坑,其他都没啥
    }

    this.http.post("http://localhost:3000/upload", fileData, {}).subscribe(
      () => {
        console.log('1231')
      }
    )
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值