var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var index = require('./routes/index'); var users = require('./routes/users'); var app = express(); var fs = require('fs'); var util = require('util'); var crypto = require('crypto'); var http = require("http"); var url = require("url"); app.listen(3000, function () { console.log('Example app listening on port 3000!') }); /*const now=(unit)=>{ const hrTime=process.hrtime(); switch (unit) { case 'milli':return hrTime[0] * 1000 + hrTime[1] / 1000000; case 'micro':return hrTime[0] * 1000000 + hrTime[1] / 1000; case 'nano':return hrTime[0] * 1000000000 + hrTime[1] ; break; default:return hrTime[0] * 1000000000 + hrTime[1] ; } }*/ app.get('/multiMedia.json',function (req, res) { var name = req.query.name; var type = req.query.type; var commadId = req.query.commandId; var pathfile = null; if (type === 'audio') { pathfile = './audio/' + name; } else if (type === 'video') { pathfile = './video/' + name; } else if (type === 'image') { pathfile = 'D:\\PROJECT@AIS\\SRFP_Node\\Genesis-SRFP\\public\\image\\' + name; } else { console.log('Access Denied'); } // if (type === 'audio') { // pathfile = path.join('D:', 'Node','Audio' , name); // } else if (type === 'video') { // pathfile = path.join('D:', 'Node','Video' , name); // } else if (type === 'image') { // pathfile = path.join('D:', 'Node','Image' , name); // } else { // console.log('Access Denied'); // } var file = fs.readFileSync(pathfile); var value = Buffer.from(file).toString('base64'); var stats = fs.statSync(pathfile); var mtime = stats.mtime; var size = stats.size; console.log(mtime.toISOString().replace(/T/, ' ').replace(/\..+/, '')); // console.log(mtime.getTime()); // Get the if-modified-since header from the request var reqModDate = req.headers['if-modified-since']; // console.log('If-modify ' + new Date(reqModDate).toISOString().replace(/T/, ' ').replace(/\..+/, '')); if (reqModDate != null) { reqModDate = new Date(reqModDate); if (reqModDate.getTime() == mtime.getTime()) { console.log("load from cache"); res.writeHead(304, { "Last-Modified": mtime.toUTCString() }); res.end(); } else { console.log("no cache"); var fileName = "test.jpg"; res.download(pathfile, fileName); res.end(); } } else { res.writeHead(304, { "Last-Modified": mtime.toUTCString() }); res.end(); } // res.send(value.toString()); });