我正在使用 Multer 来解析来自 Formdata 的音频文件 Multer 部分正在工作,我可以访问以下内容:
audioUri: [
{
fieldname: 'audioUri',
originalname: 'audio.m4a',
encoding: '7bit',
mimetype: 'audio/m4a',
buffer: <Buffer 00 00 00 18 66 74 79 70 6d 70 34 32 00 00 00 00 69 73 6f 6d 6d 70 34 32 00 00 04 dc 6d 6f 6f 76 00 00 00 6c 6d 76 68 64 00 00 00 00 dc 4c 17 fc
dc 4c ... 42739 more bytes>,
size: 42789
}
我正在尝试将此文件保存到系统文件中。对于图像,我通常使用sharp,在这里我尝试使用 fs 如下
const newpath = `assets/audio/orders/${fileName}`;
const readFile = util.promisify(fs.readFile);
const data = await readFile(req.files.audioUri[0].buffer);
const chunk = new Uint8Array(data);
await fs.writeFileSync(newpath, chunk);
我收到了 TypeError [ERR_INVALID_ARG_VALUE]: The argument 'path' must be a string or Uint8Array without null bytes
答案 0 :(得分:0)
显然不需要从缓冲区读取文件,您可以直接保存如下:
server {
root /path/to/landing/page;
index index.html index.htm index.nginx-debian.html;
server_name mydomain; # managed by Certbot
location /api/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:5000/;
}
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate */fullchain.pem; # managed by Certbot
ssl_certificate_key */privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
希望这可以帮助某人!