zoukankan      html  css  js  c++  java
  • node 转二进制 图片

    '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;
    fs.readFile(target,function (err,bytesRead) {
    if (err) throw err;
    console.log(bytesRead)
    })

    resolve({ fileName, name: stream.fields.name });
    });
    });
    return result;
    }
    }

    module.exports = UploadService;

  • 相关阅读:
    进程二
    高德地图api的使用
    《架构即未来》读后感3
    三周总结
    性能战术:
    二周总结
    《 架构即未来》读后感2
    一周总结
    《架构即未来》读后感
    学生信息系统dao层
  • 原文地址:https://www.cnblogs.com/qq735675958/p/9333403.html
Copyright © 2011-2022 走看看