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配置的主要内容,如果未能解决你的问题,请参考以下文章