【问题标题】:Advice on good Node Express Multipart File Upload middleware for inversify-express-utils controller关于用于 inversify-express-utils 控制器的良好 Node Express 多部分文件上传中间件的建议
【发布时间】:2023-01-13 13:15:10
【问题描述】:

我正在做一个工作项目,使用 Typescript 和 ExpressJs,他们使用 inversify-express-utils 作为所有端点的控制器。我的任务是添加一个文件上传后端端点来摄取一个文件(csv、pdf、dat),该文件可能是几个字节到 100Mb 以上。

我正在寻找与 inversify-express-utils 一起使用的多部分文件上传结构(和示例)的建议。

Multer 仍然是更好的节点文件上传中间件之一吗?如果是这样,是否有任何关于如何将其折叠到 inversify-express-utils 控制器中的示例?在过去一个小时的搜索中,我找不到任何东西。也许缺少我的 Google Foo。

node/typescript/express/inversify-express-utils有没有更好的文件上传中间件?如果是这样,是否有任何代码示例可以使其正常工作?

【问题讨论】:

  • 你有没有找到解决这个问题的方法?我就是无法让 multer 与 Inversify 一起工作
  • 是的,将其移至控制器端点上的中间件

标签: node.js express file-upload


【解决方案1】:

这是一个示例端点,在“inversify”中使用“inversify-express-utils”上传了 Multer

import * as express from 'express';
import multer from 'multer';
import {
  BaseHttpController,
  controller
  httpPost,
} from 'inversify-express-utils';
import { inject } from 'inversify';


const storage = multer.memoryStorage();
const upload = multer({
  storage,
  limits: { fileSize: 100 * 1024 * 1024 },
});


@controller('/v1')
export class v1Controller extends BaseHttpController {
  constructor(){
      super();
  }
    
  @httpPost('/', upload.single('file'))
  private async upload(req: express.Request, res: express.Response) {
      const { file, body } = req;
      // Do what you will with the file contents as type Express.Multer.File type
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 2020-05-03
    • 2019-01-25
    • 2017-11-12
    • 2016-01-16
    • 1970-01-01
    相关资源
    最近更新 更多