Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var mongoose = require('mongoose');
  2. var ActivityPost = mongoose.model('ActivityPost');
  3. var multer  = require('multer')
  4. var upload = multer({ storage:multer.memoryStorage() })
  5. var toGeoJson = require('@mapbox/togeojson');
  6. var domParser = require('xmldom').DOMParser;
  7.  
  8. router.post('/newactivity',upload.single('gpx'), function (req, res, next) {
  9.     console.log(req.body);
  10.     console.log("file"+req.file);
  11.  
  12.     //if gpx file is uploaded, convert to geojson and store in db
  13.     let geoJsonOutput;
  14.     let newPost;
  15.  
  16.     if(req.file)
  17.         {
  18.         let gpxString = req.file.buffer.toString();
  19.         //get xml dom from gpx string and convert to geojson
  20.         let dom = (new domParser()).parseFromString(gpxString, 'text/xml');
  21.         geoJsonOutput=toGeoJson.gpx(dom);
  22.  
  23.         //make mongoose document here from above data
  24.         //newActivityPost=ActivityPost(
  25.         //geoJson:JSON.stringify(geoJsonOutput);
  26.         }
  27.  
  28.         else{
  29.         //no file uploaded, just create mongoose document from entered data
  30.         //newActivityPost=ActivityPost(
  31.         //geoJson:JSON.stringify(geoJsonOutput);
  32.         }
  33.     // commit the post created to mongodb
  34.     ActivityPost.save(function (err) {
  35.         if (err)
  36.         {
  37.             return res.status(400).json({
  38.                     status: 'error',
  39.                     message: JSON.stringify([err.message]),
  40.                 });
  41.             }
  42.         else{
  43.             return res.status(201).json({
  44.                 status: 'success',
  45.                 message: 'Successfully Added New Activity Post',
  46.             });
  47.         }
  48.     });
  49. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement