Fixed 267U.pre2
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
import * as fs from "node:fs";
|
||||
import * as Path from "node:path";
|
||||
import { pipeline } from "node:stream/promises";
|
||||
import config from "../../config/index.js";
|
||||
export class InternalStorage {
|
||||
static resolvePath = (key)=>Path.resolve(config.mediaDir, key);
|
||||
static read(key) {
|
||||
return fs.createReadStream(InternalStorage.resolvePath(key));
|
||||
}
|
||||
static async saveFromPath(key, srcPath) {
|
||||
fs.mkdirSync(config.mediaDir, {
|
||||
recursive: true
|
||||
});
|
||||
await pipeline(fs.createReadStream(srcPath), fs.createWriteStream(InternalStorage.resolvePath(key)));
|
||||
return `${config.url}/files/${key}`;
|
||||
}
|
||||
static saveFromBuffer(key, data) {
|
||||
fs.mkdirSync(config.mediaDir, {
|
||||
recursive: true
|
||||
});
|
||||
fs.writeFileSync(InternalStorage.resolvePath(key), data);
|
||||
return `${config.url}/files/${key}`;
|
||||
}
|
||||
static del(key) {
|
||||
fs.unlink(InternalStorage.resolvePath(key), ()=>{});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user