var reader = new FileReaderSync(); /** * Expects an object containing a file and an encoding then uses a * FileReaderSync to read the file. Returns an object containing the * file read a binary string, text, url and ArrayBuffer. */ onmessage = function(event) { var file = event.data.file; var encoding = event.data.encoding; var rtnObj = new Object(); if (encoding != undefined) { rtnObj.text = reader.readAsText(file, encoding); } else { rtnObj.text = reader.readAsText(file); } rtnObj.bin = reader.readAsBinaryString(file); rtnObj.url = reader.readAsDataURL(file); rtnObj.arrayBuffer = reader.readAsArrayBuffer(file); postMessage(rtnObj); };