mirror of
https://github.com/captbaritone/webamp.git
synced 2026-07-27 03:54:24 +00:00
39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
// Handle common file interactions
|
|
FileManager = {
|
|
reader: new FileReader(),
|
|
|
|
// Given an input node, returns a functional URL
|
|
urlFromInput: function(input) {
|
|
var file = input.files[0];
|
|
return this.urlFromFileReference(file);
|
|
},
|
|
|
|
urlFromFileReference: function(fileReference) {
|
|
return URL.createObjectURL(fileReference);
|
|
},
|
|
|
|
bufferFromFileReference: function(fileReference, bufferHandler) {
|
|
this.reader.onload = function (e) {
|
|
var arrayBuffer = e.target.result;
|
|
bufferHandler(arrayBuffer);
|
|
};
|
|
this.reader.onerror = function (e) {
|
|
//console.error(e);
|
|
};
|
|
|
|
this.reader.readAsArrayBuffer(fileReference);
|
|
},
|
|
|
|
bufferFromUrl: function(url, bufferHandler) {
|
|
var oReq = new XMLHttpRequest();
|
|
oReq.open("GET", url, true);
|
|
oReq.responseType = "arraybuffer";
|
|
|
|
oReq.onload = function (oEvent) {
|
|
var arrayBuffer = oReq.response; // Note: not oReq.responseText
|
|
bufferHandler(arrayBuffer);
|
|
};
|
|
|
|
oReq.send(null);
|
|
}
|
|
}
|