Initializing...

Preparing the app. This may take a moment.

Still loading… your network may be slow or a script is blocked.

download-upload-files.js

Author:

| Size: 1.80 KB

|

(function () { // initiates a file download in the browser for files generated in the C# code window.saveFile = function (bytesBase64, mimeType, fileName) { var fileUrl = "data:" + mimeType + ";base64," + bytesBase64; fetch(fileUrl) .then(response => response.blob()) .then(blob => { var link = window.document.createElement("a"); link.href = window.URL.createObjectURL(blob, { type: mimeType }); link.download = fileName; document.body.appendChild(link); link.click(); document.body.removeChild(link); }); }

// provides file content for files selected in JS to C# without saving on the server
window.getUploadedFile = (inputID) => {
    var inputEl = document.getElementById(inputID);
    if (inputEl.files.length == 0) {
        return "";
    }
    else if (inputEl.files[0].size > (4 * 1024 * 1024)) { // 4MB
        inputEl.value = "";
        alert("File size too large. Max allowed size is 4MB.");
        return "";
    }
    else if (inputEl.accept.length && inputEl.accept.indexOf(inputEl.files[0].name.split('.').pop()) < 0) {
        inputEl.value = "";
        alert("Allowed file types: " + inputEl.accept);
        return "";
    }
    const fileReader = new FileReader();
    return new Promise((resolve) => {
        fileReader.onloadend = function (e) {
            var data = {
                fileName: inputEl.files[0].name,
                fileData: e.target.result.split('base64,')[1]
            };
            resolve(data);
        };
        fileReader.readAsDataURL(inputEl.files[0]);
    });
};

})();

Comments

Comments are disabled by author.

8/2/2024

Create new paste with same settings

Not all user generated content is reviewed by AnonPaste. If you believe this paste violates our community guideline or terms of service, please report it here.

Initializing...

Preparing the app. This may take a moment before app is ready.

AnonPaste is a user-generated content hosting service. The platform and its operators are not responsible for content posted by users.