uni-app 112上传文件和oss配置

Posted 2019ab

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uni-app 112上传文件和oss配置相关的知识,希望对你有一定的参考价值。

安装

npm i egg-oss --save

配置

// config/plugin.js

exports.oss = 
  enable: true,
  package: 'egg-oss',
;

// config/config.default.js

config.multipart = 
    mode: 'file'
;
// oss存储
config.oss = 
    client: 
        accessKeyId: 'your access key',
        accessKeySecret: 'your access secret',
        bucket: 'your bucket name',
        endpoint: 'oss-cn-hongkong.aliyun.com',
        timeout: '60s',
    ,

// app/controller/common.js

'use strict';

const Controller = require('egg').Controller;
const fs = require('mz/fs');
const path = require('path')
class CommonController extends Controller 
    // 上传
    async upload() 
        const ctx = this.ctx;

        if (!ctx.request.files) 
            return ctx.apiFail('请先选择上传文件');
        

        const file = ctx.request.files[0];
        // const name = 'egg-oss-demo/' + path.basename(file.filename);
        const name = 'egg-oss-demo/' + ctx.genID(10) + path.extname(file.filename);
        let result;
        try 
            result = await ctx.oss.put(name, file.filepath);
         catch (err) 
            console.log(err);
         finally 
            await fs.unlink(file.filepath);
        

        if (result) 
            return ctx.apiSuccess(result.url);
        

        ctx.apiFail('上传失败');
    


module.exports = CommonController;

// app/extend/context.js

// 生成唯一id
genID(length) 
    return Number(Math.random().toString().substr(3, length) + Date.now()).toString(36);

感谢大家观看,我们下次见

以上是关于uni-app 112上传文件和oss配置的主要内容,如果未能解决你的问题,请参考以下文章

文件上传之oss服务器上传文件简笔

文件上传之oss服务器上传文件简笔

OSS上传文件到阿里云

oss上传

阿里云oss上传文件

Java使用OSS实现上传文件