@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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tiledesk/tiledesk-server",
3
3
  "description": "The Tiledesk server module",
4
- "version": "2.3.95",
4
+ "version": "2.3.96",
5
5
  "scripts": {
6
6
  "start": "node ./bin/www",
7
7
  "pretest": "mongodb-runner start",
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();