首页 > 解决方案 > hapijs中带有multipart/form-data的文件有效负载的类型定义是什么?

问题描述

我正在使用带有打字稿的 hapijs。我上传文件在multipart/fom-data. 我想定义req.payload.file. 但不幸的是,我找不到任何文档来了解该类型。这是结果console.log(req.payload.file);

Readable {
  _readableState:
   ReadableState {
     objectMode: false,
     highWaterMark: 16384,
     buffer: BufferList { head: null, tail: null, length: 0 },
     length: 0,
     pipes: null,
     pipesCount: 0,
     flowing: null,
     ended: false,
     endEmitted: false,
     reading: false,
     sync: true,
     needReadable: false,
     emittedReadable: false,
     readableListening: false,
     resumeScheduled: false,
     paused: true,
     emitClose: true,
     autoDestroy: false,
     destroyed: false,
     defaultEncoding: 'utf8',
     awaitDrain: 0,
     readingMore: false,
     decoder: null,
     encoding: null },
  readable: true,
  _events: [Object: null prototype] {},
  _eventsCount: 0,
  _maxListeners: undefined,
  _data:
   <Buffer 50 4b 03 04 14 00 06 00 08 00 00 00 21 00 48 41 42 ca 71 01 00 00 b0 06 00 00 13 00 08 02 5b 43 6f 6e 74 65 6e 74 5f 54 79 70 65 73 5d 2e 78 6d 6c 20 ... >,
  _position: 0,
  _encoding: 'utf8',
  hapi:
   { filename: 'file.xlsx',
     headers:
      { 'content-disposition': 'form-data; name="file"; filename="file.xlsx"',
        'content-type':
         'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' } } }

我想做这个:

const file: <ApropriateTypeHere> = req.payload.file;

所以我可以看到file打印在里面的所有属性console.log()

标签: typescripthapijshapi

解决方案


文档中:

...传入的有效负载通过 Stream.Readable 接口提供。

您可以在Node.js 文档中找到更多信息。类型可以在@types/node中找到。


推荐阅读