请问nodejs的fs模块怎么将blob对象写入到文件呢

    fs.writeFile(`${__dirname}/` + 'test.wav', blob, (err) => {
      console.log(err)
    })

保存的文件打开之后是[object Blob],用软件打开提示文件错误

阅读 10.8k
2 个回答

需要先读到文件流,在把文件流写入到你要的位置

// 获取到文件files
      fs.readFile(files.path, (err, data) => {
        if (err) {
          res.json({
            code: 20001,
            success: false,
            result: err,
            message: '上传失败'
          })
          return
        }
        // 写入文件
        fs.writeFile(`public/file/${writePath}`, data, async (err) => {
          if (err) {
            res.json({
              code: 20001,
              success: false,
              result: err,
              message: '上传失败'
            })
          } else {
            try {
              // 参数处理
              let obj = {
                f_id: params.fid,
                type: params.type,
                name: files.name, // 文件名
                path: writePath,  // 文件路径
                suffix: suffix, // 后缀名
                size: files.size, // 大小
                create_user: userInfo.id,
                create_time: new Date()
              }
              result = await FileMolde.create({
                set: obj
              })
            } catch (e) {
              this.handleException(req, res, e)
              return
            }
            res.json({
              code: 20000,
              success: true,
              result: writePath,
              message: '上传成功'
            })
          }
        })
      })

示例地址

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题