示例#1
0
        public async Task <IActionResult> Export([FromBody] IEnumerable <ExportRectanglesViewModel> rectangles)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            List <Stream> pdfStreams = new List <Stream>();

            foreach (var r in rectangles)
            {
                var rect = await _rectangleService.Get(r.Id);

                if (rect != null)
                {
                    var strm = await _googleMapsService.GetMap(rect, r.ImageWidth, r.ImageHeight, r.Zoom);

                    pdfStreams.Add(_pdfService.ImageToPdf(strm, r.ImageWidth));
                }
            }
            var zipStream = await _zipService.MakeZip(pdfStreams.ToArray());

            return(File(zipStream, "application/octet-stream", "map.zip"));
        }