multer-oss
v1.0.6
Published
multer oss storage
Downloads
124
Readme
Usage
multer = require 'multer'
oss = require 'multer-oss'
oss_storage = oss [options]
Options
Key | Description | Type | Require | Note
--- | ----------- | ---- | ------- | ----
destination
| 返回目录名称 | Function | False | 默认返回空字符串,即无目录
filename
| 返回文件名称 | Function | False | 默认当前时间戳
accessKeyId
| 授权id | String | False | 如果存在ossCreator时,无需设置
accessKeySecret
| 授权secret | String | False | 同上
endpoint
| oss区域 | String | False | 同上
bucket
| oss bucket | String | False | 同上
ossCreator
| 返回oss配置,即{accessKeyId, accessKeySecret, endpoint, bucket}
| Function(req, file, cb(err, conf)) | False | 通过cb回调配置
timeout
| 上传超时时间 | 毫秒 | False | 默认60秒
extensionError
| 当上传文件格式不符合规则时抛出 | Error Exception | False | 当设置了规则此项必须设置,否则会出错
extensionsMime
| 可上传的文件mime | Array | False | 设置后会检查文件类型是否符合,不符合会抛出extensionError的设置
extensionsMimeReg
| 可上传的mime | Regex | False | 同上
extensionsExt
| 可上传的文件后缀名 | Array | False | 同上
extensionsExtReg
| 可上传的文件后缀名 | Regex | False | 同上
Demo
multer = require 'multer'
oss = require 'multer-oss'
oss_storage = oss {
destination: (req, file, cb) ->
cb null, 'test'
accessKeyId: 'xxxxx'
accessKeySecret: 'xxxxx'
endpoint: 'oss-cn-beijing'
bucket: 'xxxx'
timeout: 12 * 60 * 60 * 1000 #超时时间12小时,不设置默认30分钟
extensionsMime: ['audio/mpeg']
extensionError: new TipsError('请上传音频文件')
filename: (req, file, cb) ->
cb null, file.fieldname + '-' + Date.now()
}
upload = multer {storage: oss_storage}
router.post '/upload', upload.single('avatar'), (req, res, next) ->
res.send req.file.path
<form method="post" action="/upload" enctype="multipart/form-data">
<input type="file" name="avatar" />
<input type="submit" />
</form>