Code example using WebCrypto, File API, indexedDB, createObjectURL and Workers.
<input type="file" onsubmit="process_upload">
var workerjs=' \
onmessage=function(evt) { \
var encrypt=crypto.workersubtle.encrypt({name:"AES-CBC",iv:new Uint8Array(16)},evt.data[0]); \
var buffer=evt.data[1]; \