1 | const oss = require('ali-oss')
|
2 | const fs = require('fs')
|
3 | const path = require('path')
|
4 | const co = require('co')
|
5 | const {
|
6 | info,
|
7 | } = require('./util')
|
8 |
|
9 | module.exports = ({ accessKeyId, accessKeySecret, bucket, region, assets, }, publicDir) => {
|
10 | const store = oss({
|
11 | accessKeyId,
|
12 | accessKeySecret,
|
13 | bucket,
|
14 | region,
|
15 | })
|
16 |
|
17 | const files = fs.readdirSync(path.join(publicDir))
|
18 |
|
19 | return co(function* () {
|
20 | for (let i = 0; i < files.length; i++) {
|
21 | const f = files[i]
|
22 | const pathObject = path.parse(f)
|
23 | const fileName = `${pathObject.name}${pathObject.ext}`
|
24 |
|
25 | const { res, } = yield store.put(`${assets}/${fileName}`, `${publicDir}/${fileName}`)
|
26 | const { status, } = res
|
27 |
|
28 | info(`文件${fileName}上传结果:${status}`)
|
29 | }
|
30 | }).catch((e) => {
|
31 | throw e
|
32 | })
|
33 | }
|