检索文件数据而不上传(Express,Multer)

塔尼亚·拉西亚(Tania Rascia)

我想拖放文件以将文件从浏览器上传到Express服务器,该服务器将按实际API进行文件上传。因此,无需在Express服务器上的任何位置上载和保存文件,只需将数据临时传递给API调用即可。

因此,从浏览器中,我上传到Express:

onDrop = async newFiles => {
  let formData = new FormData()

  for (let i = 0; i < newFiles.length; i++) {
    let file = newFiles[i]

    formData.append('files', file)
  }

  try {
    const response = await axios.post('/upload', formData)
  } catch (error) {
    console.log(error)
  }

从Express中,我使用Multer来检索formData。

const router = require('express').Router()
const multer = require('multer')
const path = require('path')

const upload = multer({
  dest: 'path/to/uploads',
}).array('files')

router.post('/upload', preAuth, upload, async (request, response) => {
  const { files } = request
  // API call
})

但是我只想临时检索实际文件而不将其上传到任何地方,然后将其发送到端点。我不知道有什么办法可以做到这一点,甚至不可能。

塔尼亚·拉西亚(Tania Rascia)

我最终使用express-fileuploadform-data完成了从浏览器发送Express / Multidata / formdata上传到另一个端点的任务。

反应Dropzone前端

onDrop = async newFiles => {
  let formData = new FormData()

  for (let i = 0; i < newFiles.length; i++) {
    let file = newFiles[i]

    formData.append('files', file)
  }

  try {
    const response = await axios.post('/upload', formData)
  } catch (error) {
    console.log(error)
  }
}

快速后端

const fileUpload = require('express-fileupload')
app.use(fileUpload())
const router = require('express').Router()
const FormData = require('form-data')
const axios = require('axios')

router.post('/upload', preAuth, async (request, response) => {
  const { files } = request

  const formData = new FormData()

  for (let i = 0; i < files.length; i++) {
    let file = files[i]

    formData.append('files', file)
  }

  const formHeaders = formData.getHeaders()

  try {
    const { data } = await axios.post(
      `path/to/endpoint',
      formData,
      {
        headers: {
          'Content-Type': formHeaders['content-type'],
          ...formHeaders,
        },
      }
    )
    response.status(200).send(data)
  } catch (error) {
    response.status(400).send({ message: 'Error'})
  }
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检索文件上传数据

来自分类Dev

上传到Web服务器上的文件不包含实际文件数据

来自分类Dev

Jersey FormData,上传多个文件数据

来自分类Dev

如何读取文件数据并上传?

来自分类Dev

使用 react/express/multer 上传文件夹中的文件

来自分类Dev

PHP文件上传:读取原始文件数据

来自分类Dev

限制上传文件数

来自分类Dev

Multer无法在Express 4中获取上传表单数据

来自分类Dev

使用Supertest测试Express multer文件阵列上传

来自分类Dev

将multer用于Express Router内部的文件上传

来自分类Dev

在node + express中使用文件上传模块multer

来自分类Dev

node express multer fast-csv pug文件上传

来自分类Dev

在Node.js中上传多个文件(不包含multer)?

来自分类Dev

multer访问req.body而不上传文件

来自分类Dev

延迟 Multer 文件上传

来自分类Dev

Flask / Python:保存之前修改上传的文件数据

来自分类Dev

检索存储在缓冲区中的文件数据

来自分类Dev

使用耶拿检索猫头鹰文件数据

来自分类Dev

Ajax调用以检索json文件数据

来自分类Dev

MongoDB / Multer查询数据库,然后上传文件

来自分类Dev

如何返回上传文件的id(在nodejs express应用程序中使用multer上传)

来自分类Dev

分段请求弹簧不绑定文件数据

来自分类Dev

从 url 检索数据而不创建文件

来自分类Dev

Express multer 上传带有动态文件名的文件(按数字顺序)

来自分类Dev

Multer上传文件+ JSON对象

来自分类Dev

Django 文件上传(获取文件数据,而不仅仅是文件路径)

来自分类Dev

删除文件数据

来自分类Dev

通过带有表单数据和文件的 Angular HttpClient 上传文件,但 multer 不会获取文件

来自分类Dev

标题也插入到数据库中,同时上传CSV文件数据

Related 相关文章

热门标签

归档