美文网首页
egg实现服务之间上传文件

egg实现服务之间上传文件

作者: 谁把月亮涂黑啦 | 来源:发表于2021-03-01 10:13 被阅读0次

直接请求

可直接在后端模拟 form-data 上传文件,请求第三方服务,上代码:

const stream = await this.ctx.getFileStream()
const form = new FormStream()
Object.keys(stream.fields).forEach(key => form.field(key, stream.fields[key])) // 用户附带参数
form.stream(stream.fieldname, stream, stream.filename)
const res = await this.app.curl(`${url}`, {
   method: 'POST',
   dataType: 'json',
   headers: {
     ...form.headers(),
   },
   stream: form,
   timeout: 8000,
})
// ...  console.log(res)

能上传成功的前提是 对方服务端接口必须支持文件流

代理转发

需要安装插件 @eggjs/http-proxy

npm i @eggjs/http-proxy --save

配置 plugin.js

// {app_root}/config/plugin.js
exports.httpProxy = {
  enable: true,
  package: '@eggjs/http-proxy',
};

service:

const res = await this.ctx.proxyRequest('xxx.com', {
  rewrite(urlObj) {
    urlObj.pathname = '/upload'
    return urlObj
  },
  withCredentials: true, // if true, will send cookie when cors
  headers: {
    cookie, // 可不携带,视目标接口而定
  },
})
//  console.log(res)
// 控制台打印如下视为成功
// [-/::1/-/198ms POST /api/v1/dw/upload] forward:success, status:200, targetUrl:http://xxx.com/upload

这种方式还可以实现node做中间层代理转发的目的,包括任何http请求。

相关文章

  • egg实现服务之间上传文件

    直接请求 可直接在后端模拟 form-data 上传文件,请求第三方服务,上代码: 能上传成功的前提是 对方服务端...

  • Egg.js学习与实战系列 · 文件上传配置

    在使用Egg.js搭建文件上传服务时,遇到了几个一般新手都会遇到的坑。经查阅官方文档,Egg框架中默认使用egg-...

  • Linux搭建FTP文件服务器

    windows系统的文件,如何上传到Linux服务器呢?可以通过FTP,实现相互之间共享文件。 一、安装vsftp...

  • Spring Cloud微服务框架升级

    在《Spring Cloud实现文件上传》、《基于fastdfs实现文件上传微服务》两篇文章中,作者已对Sprin...

  • el-upload + Django实现文件上传

    由于项目展示信息有图片,需要自己实现文件上传,通过django+vue+element-ui,实现文件上传服务+上...

  • egg-multipart

    egg-multipart是一个处理文件上传的插件,下面我根据自己理解分析下这个插件源码。 egg默认配置egg-...

  • 基于fastdfs实现文件上传微服务

    在《Spring Cloud实现文件上传》一文中,我利用Spring Cloud实现了文件上传的微服务。让我们再想...

  • 第十六章 文章上传和下载

    文件上传 多数文件上传都是通过表单形式提交给后台服务器,因此,要实现文件上传,就要提供一个文件上传的表单,而该表单...

  • egg-oss (egg文件上传)

    官网地址https://www.npmjs.com/package/egg-oss 安装 配置 使用

  • egg知识点复习

    1、头像上传 (1)、前端antd (2)、egg开启文件上传 (3)、接口 2、分页 3、用户鉴权(react)...

网友评论

      本文标题:egg实现服务之间上传文件

      本文链接:https://www.haomeiwen.com/subject/xoiofltx.html