首页 > 解决方案 > 服务器“未定义”中的上传问题,因为我想要文件的名称

问题描述

大家好,所以我只想知道在哪里可以找到对象中的文件名。我做了一个 console.log 来找到该属性,但我有点迷路了。我试图做 ${data.name} 但它说未定义。有人知道我在哪里可以找到我的请求吗?

//the function
    async onUpload() {
      const formData = new FormData();
      formData.append('image', this.ModalFile, this.ModalFile.name);
      await axios.post('/publications/uploads', formData, {
        headers: {
          'Content-Type': 'multipart/form-data',
          Authorization: `Bearer ${this.$store.state.token}`,
        },

//router
router.post('/uploads', upload.single('image'), async (request, response) => {
  const data = await request.files[0].buffer;
  console.log(data);
  await fs.writeFile(`./uploads/${data.name}`, data);

  return response.status(200).json({ uploaded: true });
}); ```

标签: javascriptnode.jspostuploadwritefile

解决方案


我认为该属性在:request.files[0]

所以,它应该是:request.files[0].name

console.log( request.files[0] )在等待缓冲区之前尝试

file = request.FILES[0]
file.name           # Gives name
file.content_type   # Gives Content type text/html etc
file.size           # Gives file's size in byte
file.buffer         # Gives file's content as a buffer
file.read()         # Reads file

推荐阅读