Thanks a lot!
Now I’ve got correct Buffer, but after POST still getting 500 ERROR.
<html>
<head>
<script type="text/javascript">
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.readAsArrayBuffer(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,"*");
console.log("MSG: ", msg)
};
window.onmessage = (event) => {
console.log(event.data);
var url = event.data;
var img = msg.content;
var formData = {
upload_token: "",
file: {
value: msg.content,
options: {
filename: msg.fileName,
contentType: msg.fileType
}
}
};
console.log(url);
console.log(formData);
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>
Do I need an UploadToken? I doubt.
So my formData still incorrect?
In console formData look like that
file:
options: {filename: "05f3ef4974016ea1efdc5862bd14b5c6.jpg", contentType: "image/jpeg"}
value: ArrayBuffer(84008)
[[Prototype]]: Object
upload_token: ""
[[Prototype]]: Object