鍍金池/ 問(wèn)答/網(wǎng)絡(luò)安全  HTML/ nodejs上傳到阿里云oss文件koa2中如何返回結(jié)果

nodejs上傳到阿里云oss文件koa2中如何返回結(jié)果

這里我想用最新的es6的異步方式實(shí)現(xiàn),求大家支招!我下邊寫(xiě)的已經(jīng)可以上傳圖片,但是就是不能返回到body數(shù)據(jù)。。。所以結(jié)果是圖片其實(shí)已經(jīng)上傳了,但是接口顯示404.

exports.uploadFile = async (ctx,next) => {
let client = new OSS({
    region: 'oss-cn-qingdao',
    accessKeyId: '124214124',
    accessKeySecret: '1412414124',
    bucket: 'p-144-141244'
})


let form = new formidable.IncomingForm()
    form.parse(ctx.req, function (err, fields, files) {
        client.put(fields.path, files.file.path).then(function (val) {
            // console.log(val.res)
            ctx.body = {
                res: val.res.requestUrls
            }
        }).then(function (val) {
            // console.log(val.res)
            // console.log(val.content.toString())
            ctx.body = {
                res: '上傳失敗'
            }
        })
    })
}

回答
編輯回答
冷溫柔

不能在回調(diào)里設(shè)ctx.body,回調(diào)的時(shí)候請(qǐng)求已經(jīng)返回了,用async/await吧。

一個(gè)類(lèi)似的問(wèn)題:https://segmentfault.com/q/10...

2018年4月15日 17:11