Как управлять сервером загрузки Apollo несколькими потоками?как сделать буфер? - PullRequest
0 голосов
/ 19 сентября 2018

Я пытаюсь загрузить несколько изображений для использования сервером Apollo

Мне удалось использовать модуль createWriteStream для преобразования потока в файл

, но мне не нужен файл make, простонужна строка буфера

Но это никогда не вернется никогда никогда строка буфера

Пожалуйста, посмотрите мой код

type Mutation {
        createProduct(product_name: String!, product_info: String!, price: Int!, sale: Int, files: [Upload!]): Result!
    }

это моя мутация

createProduct(parent, {product_name, product_info, price, sale ,files }) {
            db.Product.create({
                product_name, product_info, price, sale
            }).then( (product) => {
                storeImages(files, product.id)    
                .then ( (result) => {
                    console.log(result)
                })
            })

и это мой распознаватель

const outStream = new Writable({
    write(chunk, encoding, callback){
        console.log(chunk)
    },
})

const inStream = new Readable({
    read(size) {
        console.log(size)
    }
})

const test2 = (chunk) => {
    console.log(chunk)
    outStream.destroy();
}

function test(){
    let pass = new PassThrough();
    console.log(pass)
    console.log('pass!!')
    return 'end';
}
const processUpload = async upload => {
    const { stream, filename, mimetype } = await upload;
    console.log('stream')
    console.log(upload)
    // const { id, path } = await storeFS({ stream, filename })
    // return storeDB({ id, filename, mimetype, path })
  }


const lastStream = (chunk) => {
    console.log(chunk)
}
const storeImages = (files, product_id) => {
    return new Promise( async (resolve, reject) => {
        let save = []
        files.forEach( async (image, index) => {
            const { stream  } = await image;
            stream
                .pipe(outStream)
                // .pipe(inStream)
        })
        resolve(save)

Наконец-то, как я пытался

Я подведу итог.

Как я могу использовать сервер загрузки Apollo, чтобы взятьПоток нескольких файлов в BLOB и управлять им?

...