Я новичок в стеке MEAN и внедряю веб-приложение с использованием стека MEAN и Angular 6. Там я хочу выбрать карту, в которой расширение файла будет «.tiff». Я хочу преобразовать это в формат .png и загрузить файл .png в отдельную папку с именем uploads. Вот мои маршруты.
Я создал папку с именем «mapImages» в моем каталоге c, чтобы сохранить файл TIFF. Затем я создал папку 'mapImages1' в каталоге c, чтобы сохранить преобразованное изображение. (. Png). Но при загрузке выдает следующую ошибку.
аа (создано)
Failed Конверсия не удалась
0 Преобразован.
1 Не удалось.
С: mapImages1 / аа
Ошибка: команда не выполнена: преобразовать C: mapImages \ aa.tif C: mapImages1 / aa /% d.png
Неверный параметр - C: mapImages1
var express = require('express');
var router = express.Router();
var mongoose = require('mongoose');
var multer = require('multer');
var ConvertTiff = require('tiff-to-png');
var mapInfo = require('../../../models/mongoModels/map');
var storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/')
},
filename: function (req, file, cb) {
cb(null, file.fieldname + '-' + Date.now() + '.png')
}
})
var upload = multer({ storage: storage });
router.post('/uploadMap', upload.single('milespecMap'), function (req, res, next) {
var imageName = req.file.filename;
var options = {
logLevel: 1
};
var converter = new ConvertTiff(options);
var location = '';
converter.convertOne(req.file.originalname+'.tif', location);
res.send(imageName);
});
//Save or update map
router.post("/update", function (req, res) {
var mod = new mapInfo(req.body);
mapInfo.findOneAndUpdate(
{
mapName: req.body.mapName,
},
req.body,
{ upsert: true, new: true },
function (err, data) {
if (err) {
console.log(err);
res.send(err);
} else {
// console.log(res);
res.send(mod);
}
}
);
});
module.exports = router;
Это мой .ts файл
export class MapsComponent implements OnInit {
closeResult: string;
currentMapDetails: Map = new Map();
selectedFile: File = null;
imageName: string;
public uploader: FileUploader = new FileUploader({ url: URL, itemAlias: 'milespecMap', });
private items: any;
constructor(private modalService: NgbModal,
private mapsService: MapsService,
private http: Http,
private router: Router,
) {
this.uploader.onAfterAddingAll(this.items)
{
console.log(this.items);
}
this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {
//things to do on completion
this.imageName= response;
console.log("image"+ " "+response);
};
}
ngOnInit() {
}
handleFileInput(file: FileList) {
this.selectedFile = file.item(0);
var reader = new FileReader();
reader.onload = (event: any) => {
this.currentMapDetails.milespecUrl = event.target.result;
console.log(reader.onload);
}
reader.readAsDataURL(this.selectedFile);
}
updateInfo() {
this.uploader.uploadAll(); ///image upload
this.update();
}
update() {
console.log(this.currentMapDetails);
this.mapsService.updateMap(this.currentMapDetails).subscribe(res => {
this.currentMapDetails;
console.log(res);
}, (err) => {
console.log(err);
});
}
}
В моем объекте multer мне уже дано расширение файла .png. Я не понимаю, влияет ли это на эту ошибку. Я много с этим борюсь. Кто-нибудь может дать мне предложение разрешить это?