Ok, I think now it’s better, but how to import Buffer npm node here?
Or create buffer somehow else?
<html>
<head>
<script type="module">
var openFile = function(event) {
var msg = {fileName:"", fileType:"", content:"", fileSize:"", accepted:""};
var input = event.target;
var reader = new FileReader();
var fileName = input.files[0].name;
var fileType = input.files[0].type;
var fileSize = input.files[0].size;
var accepted = input.accept;
reader.readAsDataURL(input.files[0]);
reader.onloadend = function sendmsg(){
var buffer = reader.result;
msg.fileName = fileName;
msg.content = buffer;
msg.fileType = fileType;
msg.fileSize = fileSize;
msg.accepted = accepted;
window.parent.postMessage(msg,"*");
};
window.onmessage = (event) => {
var url = event.data;
var img = msg.content;
image = img.split(`data:${msg.fileType};base64,`)[1];
let buff = Buffer.from(image, "base64");
var formData = {
upload_token: "",
file: {
value: buff,
options: {
filename: msg.fileName,
contentType: msg.fileType
}
}
};
let request = new XMLHttpRequest();
request.open("POST", url);
request.send(formData);
};
};
</script>
</head>
<body>
<label class="custom-file-upload" >
<input type="file" accept='image/*' onchange='openFile(event)' />
</label>
</body>
</html>