egg.js上传文件到本地

匿名 (未验证) 提交于 2019-12-03 00:41:02
‘use strict‘; const Service = require(‘egg‘).Service; const fs = require(‘fs‘); const path = require(‘path‘); const sendToWormhole = require(‘stream-wormhole‘);   class UploadService extends Service {   async index() {     const ctx = this.ctx;     const stream = await ctx.getFileStream();     const fileName = stream.filename;          let target  = path.join(this.config.baseDir, `app/public/comfiles/${stream.filename}`);     const result = await new Promise((resolve, reject) => {         const remoteFileStream = fs.createWriteStream(target);         stream.pipe(remoteFileStream);         let errFlag;         remoteFileStream.on(‘error‘, err => {             errFlag = true;             sendToWormhole(stream);             remoteFileStream.destroy();             reject(err);         });                  remoteFileStream.on(‘finish‘, async () => {             if (errFlag) return;             resolve({ fileName, name: stream.fields.name });         });       });     return result;     } }  module.exports = UploadService;

弄了一个下午,终于弄清楚了,MD.碎觉

原文:https://www.cnblogs.com/qq735675958/p/9315694.html

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!