@tiledesk/tiledesk-server 2.3.95 → 2.3.96
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +1 -1
- package/routes/images.js +8 -1
- package/services/fileGridFsService.js +11 -0
package/package.json
CHANGED
package/routes/images.js
CHANGED
@@ -422,15 +422,22 @@ router.get('/thumbnails', (req, res) => {
|
|
422
422
|
})
|
423
423
|
|
424
424
|
|
425
|
-
router.get("/", (req, res) => {
|
425
|
+
router.get("/", async (req, res) => {
|
426
426
|
winston.debug('path', req.query.path);
|
427
427
|
|
428
428
|
if (req.query.as_attachment) {
|
429
429
|
res.set({ "Content-Disposition": "attachment; filename=\""+req.query.path+"\"" });
|
430
|
+
|
430
431
|
}
|
431
432
|
|
432
433
|
|
433
434
|
// try {
|
435
|
+
let file = await fileService.find(req.query.path);
|
436
|
+
// console.log("file", file);
|
437
|
+
|
438
|
+
res.set({ "Content-Length": file.length});
|
439
|
+
res.set({ "Content-Type": file.contentType});
|
440
|
+
|
434
441
|
fileService.getFileDataAsStream(req.query.path).on('error', (e)=> {
|
435
442
|
if (e.code == "ENOENT") {
|
436
443
|
winston.debug('Image not found: '+req.query.path);
|
@@ -56,6 +56,17 @@ class FileGridFsService extends FileService {
|
|
56
56
|
});
|
57
57
|
}
|
58
58
|
|
59
|
+
async find(filename) {
|
60
|
+
return new Promise(async (resolve, reject) => {
|
61
|
+
let files = await this.gfs.find({filename: filename}).toArray();
|
62
|
+
winston.debug("files", files);
|
63
|
+
if (files.length>0) {
|
64
|
+
return resolve(files[0]);
|
65
|
+
} else {
|
66
|
+
return reject({msg:"File not found"});
|
67
|
+
}
|
68
|
+
});
|
69
|
+
}
|
59
70
|
async deleteFile(filename) {
|
60
71
|
return new Promise(async (resolve, reject) => {
|
61
72
|
let files = await this.gfs.find({filename: filename}).toArray();
|