Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var mongoose = require('mongoose');
- var ActivityPost = mongoose.model('ActivityPost');
- var multer = require('multer')
- var upload = multer({ storage:multer.memoryStorage() })
- var toGeoJson = require('@mapbox/togeojson');
- var domParser = require('xmldom').DOMParser;
- router.post('/newactivity',upload.single('gpx'), function (req, res, next) {
- console.log(req.body);
- console.log("file"+req.file);
- //if gpx file is uploaded, convert to geojson and store in db
- let geoJsonOutput;
- let newPost;
- if(req.file)
- {
- let gpxString = req.file.buffer.toString();
- //get xml dom from gpx string and convert to geojson
- let dom = (new domParser()).parseFromString(gpxString, 'text/xml');
- geoJsonOutput=toGeoJson.gpx(dom);
- //make mongoose document here from above data
- //newActivityPost=ActivityPost(
- //geoJson:JSON.stringify(geoJsonOutput);
- }
- else{
- //no file uploaded, just create mongoose document from entered data
- //newActivityPost=ActivityPost(
- //geoJson:JSON.stringify(geoJsonOutput);
- }
- // commit the post created to mongodb
- ActivityPost.save(function (err) {
- if (err)
- {
- return res.status(400).json({
- status: 'error',
- message: JSON.stringify([err.message]),
- });
- }
- else{
- return res.status(201).json({
- status: 'success',
- message: 'Successfully Added New Activity Post',
- });
- }
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement