使用node.js将base64编码的音频文件上传到minio对象存储中

问题描述

我想使用nodejs将base64音频文件上传到minio对象存储中,我已经具有上传图像的功能,但是对于上传音频文件,我应该替换什么?我关心的是仅用于图像的ba64模块

谢谢

const fs = require('fs');
const ba64 = require('ba64');
const minio = require('./minio');
const wrapper = require('../../utils/wrapper');

const uploadImages = async (bucket,rawImg,objName) => {
  const rand = Math.floor(Math.random() * 1000);
  const path = `./uploads/${objName.filename}-${rand}`;
  let data_url;

  const ext = rawImg.substring('data:image/'.length,rawImg.indexOf(';base64'));

  switch (ext) {
  case 'png':
    data_url = `data:image/png${rawImg}`;
    break;
  case 'jpg':
    data_url = `data:image/jpg${rawImg}`;
    break;
  case 'jpeg':
    data_url = `data:image/jpeg${rawImg}`;
    break;
  }

  ba64.writeImageSync(path,data_url);

  const key = `${objName.folder}/${objName.filename}-${rand}.${ext}`;
  const images = fs.createReadStream(`./uploads/${objName.filename}-${rand}.${ext}`);

  const upload = await minio.objectUpload(bucket,key,images.path);

  fs.unlinkSync(`./uploads/${objName.filename}-${rand}.${ext}`);

  if (upload.err) {
    return wrapper.error('err');
  }

  return key;
};

module.exports = {
  uploadImages
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)