欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

angular express 上传图片

程序员文章站 2022-07-02 11:37:03
angular express 上传图片做了好几天,集合很多文章之后,修改完才弄好的,接下来看代码expressvar express = require('express');var router = express.Router();var fs = require('fs');var multer = require('multer');// 使用硬盘存储模式设置存放接收到的文件的路径以及文件名var storage = multer.diskStorage({ desti...

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')
      }
    )
  }

本文地址:https://blog.csdn.net/weixin_43517374/article/details/109279581

相关标签: angular