|
@@ -27,18 +27,31 @@ class Upload {
|
|
|
}
|
|
|
|
|
|
static async uploadRes(uploadPath = '', file) {
|
|
|
- let name;
|
|
|
- if (file.type == 'image') {
|
|
|
- name = dayjs().valueOf() + '.png';
|
|
|
- }
|
|
|
- if (file.type == 'video') {
|
|
|
- name = dayjs().valueOf() + '.mp4';
|
|
|
- }
|
|
|
- if (file.name) {
|
|
|
- name = file.name;
|
|
|
- }
|
|
|
+ let originalName = file.name || '';
|
|
|
+ let filePath = file.path;
|
|
|
+ let pathName = filePath.substr(filePath.indexOf('//tmp/') + 6);
|
|
|
+
|
|
|
+ //获取文件后缀(包含.)
|
|
|
+ let ext = filePath.substr(filePath.lastIndexOf('.'));
|
|
|
+ //文件原始名称
|
|
|
+ let fileName = originalName.split(ext)[0];
|
|
|
+ // 对象键的最大长度为850个字节(按照一个汉字两个字节计算,如果原始文件名超过350个汉字就截断)
|
|
|
+ fileName = fileName.length > 350? fileName.substr(0, 350) : fileName;
|
|
|
+ //时间戳
|
|
|
+ let timestamp = dayjs().valueOf();
|
|
|
+ //文件名称:文件原始名称 + 时间戳 + 文件在本地的临时路径
|
|
|
+ let name = `${fileName}_${timestamp}_${pathName}`;
|
|
|
+ // if (file.type == 'image') {
|
|
|
+ // name = dayjs().valueOf() + '.png';
|
|
|
+ // }
|
|
|
+ // if (file.type == 'video') {
|
|
|
+ // name = dayjs().valueOf() + '.mp4';
|
|
|
+ // }
|
|
|
+ // if (file.name) {
|
|
|
+ // name = file.name;
|
|
|
+ // }
|
|
|
const cos = this.getCos();
|
|
|
- name = name || file.url.substr(file.url.lastIndexOf('/') + 1);
|
|
|
+ // name = name || file.url.substr(file.url.lastIndexOf('/') + 1);
|
|
|
return new Promise((resolve, reject) => {
|
|
|
cos.postObject({
|
|
|
Bucket: Bucket,
|