🏠 Home 

file saver

library for save various data into file

สคริปต์นี้ไม่ควรถูกติดตั้งโดยตรง มันเป็นคลังสำหรับสคริปต์อื่น ๆ เพื่อบรรจุด้วยคำสั่งเมทา // @require https://update.greasyfork.org/scripts/39714/259782/file%20saver.js

// ==UserScript==
// @name        file saver
// @namespace   https://greasyfork.org/users/174399
// @description library for save various data into file
// @version     0.1.0
// ==/UserScript==
function saveFile(name, source)
{
var a = document.createElement('a');
a.download = name;
a.href = source;
document.body.appendChild(a);
a.click();
a.parentNode.removeChild(a);
}
function createFile(data, type){return createResource(new Blob([data], {type: type}));}
function createResource(blob)
{
var wurl = window.URL || window.webkitURL,
resource = wurl.createObjectURL(blob);
setTimeout(function(){wurl.revokeObjectURL(resource);}, 1e4);
return resource;
}
function createBlob(base64, type, len)
{
len = len || ####;
var bytes = [];
for(var offset = 0, charString = atob(base64), chunk, chunkBytes; offset < charString.length; offset += len)
{
chunk = charString.slice(offset, offset + len);
chunkBytes = new Array(chunk.length);
for(var i = 0; i < chunk.length; ++i)
chunkBytes[i] = chunk.charCodeAt(i);
bytes.push(new Uint8Array(chunkBytes));
}
return new Blob(bytes, {type: type});
}
function saveData(name, data, type){saveFile(name, createFile(data, type));}
function saveBlob(name, blob){saveFile(name, createResource(blob));}
function saveBase64(name, base64, type){saveBlob(name, createBlob(base64, type));}