nodejs上传到阿里云oss文件koa2中如何返回结果

发布于 2022-09-07 11:58:13 字数 804 浏览 19 评论 0

这里我想用最新的es6的异步方式实现,求大家支招!我下边写的已经可以上传图片,但是就是不能返回到body数据。。。所以结果是图片其实已经上传了,但是接口显示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: '上传失败'
            }
        })
    })
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

静水深流 2022-09-14 11:58:13

不能在回调里设ctx.body,回调的时候请求已经返回了,用async/await吧。

一个类似的问题:https://segmentfault.com/q/10...

水染的天色ゝ 2022-09-14 11:58:13

从 你的koa2使用阿里云oss的nodejs sdk实现上传图片上翻到这 最近项目 第一次使用 koa 可以问下你 具体完整的流程吗 比如 实现上传功能的js是在 server.js内的吗 然后前端是如何操作获取到的 现在就是做一个上传图片到阿里云的功能然后我前端获取图片url 以formdata形式传到数据库中 能看看具体代码是如何实现的吗。。目前是koa2 + mysql

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文