kopia lustrzana https://github.com/OpenDroneMap/NodeODM
Replaced res.download, decreased tile levels, more output
rodzic
a76c247abc
commit
a74a5323b2
14
index.js
14
index.js
|
@ -24,6 +24,7 @@ let packageJson = JSON.parse(fs.readFileSync('./package.json'));
|
||||||
let logger = require('./libs/logger');
|
let logger = require('./libs/logger');
|
||||||
let path = require('path');
|
let path = require('path');
|
||||||
let async = require('async');
|
let async = require('async');
|
||||||
|
let mime = require('mime');
|
||||||
|
|
||||||
let express = require('express');
|
let express = require('express');
|
||||||
let app = express();
|
let app = express();
|
||||||
|
@ -315,9 +316,16 @@ app.get('/task/:uuid/download/:asset', getTaskFromUuid, (req, res) => {
|
||||||
let asset = req.params.asset !== undefined ? req.params.asset : "all.zip";
|
let asset = req.params.asset !== undefined ? req.params.asset : "all.zip";
|
||||||
let filePath = req.task.getAssetsArchivePath(asset);
|
let filePath = req.task.getAssetsArchivePath(asset);
|
||||||
if (filePath){
|
if (filePath){
|
||||||
res.download(filePath, filePath, err => {
|
if (fs.existsSync(filePath)){
|
||||||
if (err) res.json({error: "Asset not ready"});
|
res.setHeader('Content-Disposition', `attachment; filename=${asset}`);
|
||||||
});
|
res.setHeader('Content-Type', mime.lookup(asset));
|
||||||
|
res.setHeader('Content-Length', fs.statSync(filePath)["size"]);
|
||||||
|
|
||||||
|
const filestream = fs.createReadStream(filePath);
|
||||||
|
filestream.pipe(res);
|
||||||
|
}else{
|
||||||
|
res.json({error: "Asset not ready"});
|
||||||
|
}
|
||||||
}else{
|
}else{
|
||||||
res.json({error: "Invalid asset"});
|
res.json({error: "Invalid asset"});
|
||||||
}
|
}
|
||||||
|
|
|
@ -231,6 +231,8 @@ module.exports = class Task{
|
||||||
const postProcess = () => {
|
const postProcess = () => {
|
||||||
const createZipArchive = (outputFilename, files) => {
|
const createZipArchive = (outputFilename, files) => {
|
||||||
return (done) => {
|
return (done) => {
|
||||||
|
this.output.push(`Compressing ${outputFilename}`);
|
||||||
|
|
||||||
let output = fs.createWriteStream(this.getAssetsArchivePath(outputFilename));
|
let output = fs.createWriteStream(this.getAssetsArchivePath(outputFilename));
|
||||||
let archive = archiver.create('zip', {});
|
let archive = archiver.create('zip', {});
|
||||||
|
|
||||||
|
@ -296,7 +298,7 @@ module.exports = class Task{
|
||||||
const generateTiles = (inputFile, outputDir) => {
|
const generateTiles = (inputFile, outputDir) => {
|
||||||
return (done) => {
|
return (done) => {
|
||||||
this.tilingProcess = gdalRunner.runTiler({
|
this.tilingProcess = gdalRunner.runTiler({
|
||||||
zoomLevels: "16-22",
|
zoomLevels: "16-21",
|
||||||
inputFile: path.join(this.getProjectFolderPath(), inputFile),
|
inputFile: path.join(this.getProjectFolderPath(), inputFile),
|
||||||
outputDir: path.join(this.getProjectFolderPath(), outputDir)
|
outputDir: path.join(this.getProjectFolderPath(), outputDir)
|
||||||
}, (err, code, signal) => {
|
}, (err, code, signal) => {
|
||||||
|
|
|
@ -25,6 +25,7 @@
|
||||||
"body-parser": "^1.15.2",
|
"body-parser": "^1.15.2",
|
||||||
"express": "^4.14.0",
|
"express": "^4.14.0",
|
||||||
"glob": "^7.1.1",
|
"glob": "^7.1.1",
|
||||||
|
"mime": "^1.3.4",
|
||||||
"minimist": "^1.2.0",
|
"minimist": "^1.2.0",
|
||||||
"morgan": "^1.7.0",
|
"morgan": "^1.7.0",
|
||||||
"multer": "^1.1.0",
|
"multer": "^1.1.0",
|
||||||
|
|
Ładowanie…
Reference in New Issue