egg.js使用superagent做文件转发
Posted lvyueyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了egg.js使用superagent做文件转发相关的知识,希望对你有一定的参考价值。
'use strict';
const Controller = require('egg').Controller;
const request = require('superagent');
class ApiController extends Controller {
async file() {
const { ctx, app } = this;
// egg内置接口获取上传的文件,参考地址:
const stream = await ctx.getFileStream();
const url = 'http://demo/api/file';
// attach 需要传3个参数,官方文档上面说文件名不是必传,但是这里面是必须要传的,不传的话在接收端可能无法识别导致文件上传失败
await request
.post(url)
.set('Content-Type', 'multipart/form-data;')
.attach('file', stream.read(), stream.filename)
.then(res => {
console.log('上传成功', res);
ctx.body = res.text;
}).catch(e => {
console.log('上传失败', e);
ctx.body = {
msg: '上传失败'
};
});
}
}
地址资源链接
superagent官方文档
egg文件上传参考文档
以上是关于egg.js使用superagent做文件转发的主要内容,如果未能解决你的问题,请参考以下文章
vue2 + egg.js使用FormData传递表单和文件(上传音频)