码迷,mamicode.com
首页 > Web开发 > 详细

egg.js使用superagent做文件转发

时间:2018-06-07 10:25:30      阅读:921      评论:0      收藏:0      [点我收藏+]

标签:tip   cat   url   class   成功   demo   str   stream   wait   

'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官方文档

http://visionmedia.github.io/superagent/

egg文件上传参考文档

https://eggjs.org/zh-cn/basics/controller.html#%E8%8E%B7%E5%8F%96%E4%B8%8A%E4%BC%A0%E7%9A%84%E6%96%87%E4%BB%B6

egg.js使用superagent做文件转发

标签:tip   cat   url   class   成功   demo   str   stream   wait   

原文地址:https://www.cnblogs.com/lvyueyang/p/9149034.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!