File Download and compress
by juansb827
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.5.0/jszip.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/2.0.2/FileSaver.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip-utils/0.1.0/jszip-utils.min.js"></script>
JavaScript
function urlToPromise(url) {
return new Promise(function(resolve, reject) {
JSZipUtils.getBinaryContent(url, function (err, data) {
if(err) {
reject(err);
} else {
resolve(data);
}
});
});
}
// var zip = new JSZip(); // uncoment and click play
var url = "https://rocksolid-file-storage.s3.us-east-2.amazonaws.com/Practical%20Vim_%20Edit%20Text%20at%20th%20-%20Neil%2C%20Drew_5334.pdf?response-content-disposition=inline&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEMz%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJIMEYCIQDZmutPVoU865jyAkbE%2BFVQXLRB7gXtX4aOITlCwnYhHwIhAMTWgpcBer6TSZdoxZqxSUGU61uRbcx6Za67d993JBDgKvgBCGUQABoMNjg3NzcwNDU3MjM0IgxRx%2FS1amd191XCM%2B0q1QH4tqJ42t15sesaI5S3DSy6QT0usfApzQ9SBksEbrjiqYcObxv348%2FSKzURFrZtoL1XDzEwHc591Cw8728%2B1NN7DZYT1Q1g2BsF6UQejfTJFDaSazOL%2FPc4szXssnCz6eysSl0rRCR5pAYUsXXceZyCy8rU6BZD9WSOx%2FJAX0yNNMDfdIzOAmwQY7AfXevUlRYfRuFcQgR0ZQOtmUe3zh0Lu869cHbwqjm8HI372LSL6FE2PdgvZtNatuZbAGOiPNFRPuixzAy77L3ZmhzSC6gIUiJSxWswpOr49wU69QIaCJ9gdIU8jBC%2FPE5BvnWn71ZbIAJLlYIe%2BzpCkfmRBg9Iv%2B%2BQxuARuKE90bVa2PCJYIfAGkETksnhwP9ufA5QJ%2FT3lzdKlUT8i7VAPKrxyNImTgP7dv%2FJKCyv%2F%2FqH9o2HUXGHFqe67p1WcGm0yL8KndksfJb1%2F%2F7fh%2BWYnodz3X3f8XHfHe3liwunijjFEct%2FKZlHCOvgkB%2FM00RV6x3NX2x81a53NsOR6tEW74I7l96nlzEPztHDDSsz9xeutnJ9xUDKWbh5w1kSgG07kPG31%2BmOCDKIo%2B1VRxiMzEwmj6S15jMbw0VJazEv40i07BkZQZAXkTl9JR8hW7w%2FfIXmiti7CzIfE2R15l9oPQ7kimiC3QdDXwvJo4fkNE47L9mQ7%2FaLZHQ%2Fmj91sSZHerdy6poEdZKu4cEbD%2B9D0GL6HmoWIKBkUo41qW7Xiq5xfITqI427JUnnQQV4jek6w6Lnh2lQXBnGTJAvhYJX5B6euyEQNAo2&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20200702T204624Z&X-Amz-SignedHeaders=host&X-Amz-Expires=300&X-Amz-Credential=ASIA2AISQKSJIBGJ3OSC%2F20200702%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Signature=0fa7964f787b16e1eca4f0eaa8972f685f53b0d7c90a8d11e7f95fb989ab3c3f"
var filename = "filename.jpg";
zip.file(filename, urlToPromise(url), {binary:true});
//...