doomistorage 1.0.9 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +22 -5
- package/rollup.config.js +36 -0
- package/src/azureblob.ts +83 -0
- package/src/cosfile.ts +31 -2
- package/src/file.ts +4 -111
- package/src/filehelper.ts +16 -0
- package/src/localfile.ts +6 -1
- package/tsconfig-tsc.json +31 -0
- package/tsconfig.json +18 -30
- package/dist/cosfile.d.ts +0 -34
- package/dist/cosfile.js +0 -131
- package/dist/declare.d.ts +0 -16
- package/dist/declare.js +0 -2
- package/dist/file.d.ts +0 -55
- package/dist/file.js +0 -116
- package/dist/filehelper.d.ts +0 -91
- package/dist/filehelper.js +0 -185
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -18
- package/dist/localfile.d.ts +0 -30
- package/dist/localfile.js +0 -92
- package/dist/uploader.d.ts +0 -2
- package/dist/uploader.js +0 -65
package/dist/localfile.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.LocalFile = void 0;
|
|
16
|
-
const file_1 = require("./file");
|
|
17
|
-
const fs_1 = __importDefault(require("fs"));
|
|
18
|
-
const path_1 = __importDefault(require("path"));
|
|
19
|
-
class LocalFile extends file_1.FileBase {
|
|
20
|
-
/**
|
|
21
|
-
* 直接保存字符串
|
|
22
|
-
* @param data
|
|
23
|
-
* @param fileName
|
|
24
|
-
* @param saveOption
|
|
25
|
-
* @param userInfo
|
|
26
|
-
*/
|
|
27
|
-
saveString2File(data, fileName, saveOption, userInfo = {}) {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
let baseFileName = this.getSaveFileName(saveOption, fileName, userInfo);
|
|
30
|
-
if (!baseFileName)
|
|
31
|
-
return { successed: false };
|
|
32
|
-
let fullFileName = path_1.default.resolve(saveOption.basefolder || '', baseFileName);
|
|
33
|
-
let _saveDir = path_1.default.dirname(fullFileName);
|
|
34
|
-
///创建本地文件夹
|
|
35
|
-
if (!this.mkdirsSync(_saveDir))
|
|
36
|
-
return { successed: false };
|
|
37
|
-
return new Promise(resolve => {
|
|
38
|
-
fs_1.default.writeFile(fullFileName, data, (error) => {
|
|
39
|
-
return resolve({ successed: error == null, filePath: fullFileName });
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* 读取文件对象并保存至本地存储
|
|
46
|
-
* @param file
|
|
47
|
-
* @param fileName
|
|
48
|
-
* @param saveOption
|
|
49
|
-
* @param userInfo
|
|
50
|
-
* @returns
|
|
51
|
-
*/
|
|
52
|
-
saveFileStream(file, fileName, saveOption, userInfo) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
let baseFileName = this.getSaveFileName(saveOption, fileName, userInfo);
|
|
55
|
-
if (!baseFileName)
|
|
56
|
-
return { successed: false };
|
|
57
|
-
let fullFileName = path_1.default.resolve(saveOption.basefolder || '', baseFileName);
|
|
58
|
-
let _saveDir = path_1.default.dirname(fullFileName);
|
|
59
|
-
///创建本地文件夹
|
|
60
|
-
if (!this.mkdirsSync(_saveDir))
|
|
61
|
-
return { successed: false };
|
|
62
|
-
file.pipe(fs_1.default.createWriteStream(fullFileName));
|
|
63
|
-
return { successed: true, filePath: fullFileName };
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* 删除指定文件
|
|
68
|
-
* @param filepath
|
|
69
|
-
*/
|
|
70
|
-
deleteFile(filepath) {
|
|
71
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
return new Promise(reslove => {
|
|
73
|
-
if (Array.isArray(filepath)) {
|
|
74
|
-
for (const f of filepath) {
|
|
75
|
-
fs_1.default.unlink(f, (err) => {
|
|
76
|
-
if (err)
|
|
77
|
-
console.log('delete file error', err);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
fs_1.default.unlink(filepath, (err) => {
|
|
83
|
-
if (err)
|
|
84
|
-
console.log('delete file error', err);
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
return reslove({ successed: true });
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
exports.LocalFile = LocalFile;
|
package/dist/uploader.d.ts
DELETED
package/dist/uploader.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getFileUploader = void 0;
|
|
7
|
-
const multer_1 = __importDefault(require("multer"));
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const fs_1 = __importDefault(require("fs"));
|
|
10
|
-
const localfile_1 = require("./localfile");
|
|
11
|
-
class LocalUploader {
|
|
12
|
-
constructor(config) {
|
|
13
|
-
this.uploadconfig = config !== null && config !== void 0 ? config : {};
|
|
14
|
-
this.fileUtilily = new localfile_1.LocalFile();
|
|
15
|
-
}
|
|
16
|
-
get diskStorage() {
|
|
17
|
-
return multer_1.default.diskStorage({
|
|
18
|
-
//设置上传后文件路径,uploads文件夹会自动创建。
|
|
19
|
-
destination: (req, _file, cb) => {
|
|
20
|
-
///获取上传的文件的类型,以便将文件保存到指定的目录
|
|
21
|
-
let filetype = req.query.filetype;
|
|
22
|
-
////不允许没有配置的文件
|
|
23
|
-
if (!filetype) {
|
|
24
|
-
req.fileerror = { successed: false, errmsg: "missing filetype for upload" };
|
|
25
|
-
return cb("missing filetype for upload", null);
|
|
26
|
-
}
|
|
27
|
-
let saveOption = this.uploadconfig.mapping[filetype];
|
|
28
|
-
if (!saveOption) {
|
|
29
|
-
req.fileerror = { successed: false, errmsg: "filetype not configurated in upload setting" };
|
|
30
|
-
return cb("filetype not configurated in upload setting", null);
|
|
31
|
-
}
|
|
32
|
-
req.fileconfig = saveOption;
|
|
33
|
-
/**
|
|
34
|
-
* 将url中的参数拼装成对象,以匹配文件存储的设置
|
|
35
|
-
*/
|
|
36
|
-
let fileparam = Object.assign({}, req.user, req.query);
|
|
37
|
-
let destinationFolder = this.fileUtilily.getSaveFolder(saveOption, fileparam);
|
|
38
|
-
///文件上传后的短路径,相对路径,
|
|
39
|
-
req.shortpath = destinationFolder;
|
|
40
|
-
////如果目录不存在,则创建目录
|
|
41
|
-
destinationFolder = path_1.default.join(this.uploadconfig.dest, destinationFolder);
|
|
42
|
-
if (!fs_1.default.existsSync(destinationFolder))
|
|
43
|
-
this.fileUtilily.mkdirsSync(path_1.default.resolve(destinationFolder));
|
|
44
|
-
cb(null, destinationFolder);
|
|
45
|
-
},
|
|
46
|
-
//给上传文件重命名,获取添加后缀名
|
|
47
|
-
filename: (req, file, cb) => {
|
|
48
|
-
let saveOption = req.fileconfig; //this.config.mapping[filetype];
|
|
49
|
-
if (!saveOption) {
|
|
50
|
-
req.fileerror = { successed: false, errmsg: "filetype not configurated in upload setting" };
|
|
51
|
-
cb("filetype not configurated in upload setting", null);
|
|
52
|
-
}
|
|
53
|
-
let finalFile = this.fileUtilily.getSaveOnlyFileName(saveOption, file.originalname);
|
|
54
|
-
req.shortpath = path_1.default.join(req.shortpath, finalFile);
|
|
55
|
-
cb(null, finalFile);
|
|
56
|
-
//cb(null, file.fieldname + '-' + Date.now() + "." + fileFormat[fileFormat.length - 1]);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
function getFileUploader(uploadConfig) {
|
|
62
|
-
let handler = new LocalUploader(uploadConfig);
|
|
63
|
-
return (0, multer_1.default)({ storage: handler.diskStorage });
|
|
64
|
-
}
|
|
65
|
-
exports.getFileUploader = getFileUploader;
|