From 8ac5d9faee8947dabaa6bdef9c9d9d93c39bb21d Mon Sep 17 00:00:00 2001 From: Ruben van Eldik Date: Thu, 23 Dec 2021 13:40:32 +0100 Subject: [PATCH 1/2] Set the name of the ZIP file to the folder name, if a folder name has been specified --- src/download.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/download.js b/src/download.js index d198addf..535b580c 100644 --- a/src/download.js +++ b/src/download.js @@ -2,5 +2,13 @@ var zip = require('./zip'); module.exports = function(gj, options) { var content = zip(gj, options); - location.href = 'data:application/zip;base64,' + content; + + var link = document.createElement('a'); + link.href = 'data:application/zip;base64,' + content; + link.rel = 'noopener' + if (options && options.folder) { + link.download = options.folder + '.zip'; + } + link.click(); + delete link; }; From 8b16078031c36dd98e8ed33350d5f2cc71db8a7e Mon Sep 17 00:00:00 2001 From: Ruben van Eldik Date: Thu, 23 Dec 2021 13:47:05 +0100 Subject: [PATCH 2/2] Add the option to manually set the filename of the ZIP file --- README.md | 1 + src/download.js | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b04c03e0..6c0815ac 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ var shpwrite = require('shp-write'); // (optional) set names for feature types and zipped folder var options = { folder: 'myshapes', + filename: 'mydownload', types: { point: 'mypoints', polygon: 'mypolygons', diff --git a/src/download.js b/src/download.js index 535b580c..94082cdf 100644 --- a/src/download.js +++ b/src/download.js @@ -6,8 +6,8 @@ module.exports = function(gj, options) { var link = document.createElement('a'); link.href = 'data:application/zip;base64,' + content; link.rel = 'noopener' - if (options && options.folder) { - link.download = options.folder + '.zip'; + if (options && options.filename || options.folder) { + link.download = (options.filename || options.folder) + '.zip'; } link.click(); delete link;