importScripts('formdata.js') self.onmessage = function(event) { var data = JSON.parse(event.data); var request = new XMLHttpRequest(); request.open('GET', data.url, true); request.responseType = 'arraybuffer'; request.onload = function(e) { if (request.status == 200) { uploadBuffer(data.pomfclone, request.response, data.filename); } }; request.send(); }; function uploadBuffer(pomfclone, buffer, filename) { var formData = new FormData(); formData.append('files[]', buffer, filename); var endpoint = pomfclone.indexOf('upload') != -1 || pomfclone.indexOf('api') != -1 ? pomfclone : pomfclone + '/upload.php'; var request = new XMLHttpRequest(); request.open('POST', endpoint, true); request.onload = function(e) { postMessage(request.response); }; request.send2(formData); };