I'm trying to convert the file file to base64
but when I see the indexeddb
database the field appears as undefine
Maybe it can not be stored, the data by size, or is there a better way to do it?
function addPerson(e) {
var name = document.querySelector("#nombre").value;
var detalle = document.querySelector("#detalle").value;
var file = document.getElementById('archivo').files[0];
var archivo = getBase64(file); // prints the base64 string
console.log("Se agrego: "+name+"/"+detalle);
console.log(archivo);
var transaction = db.transaction(["datos"],"readwrite");
var store = transaction.objectStore("datos");
//Define a person
var person = {
name:name,
detalle:detalle,
archivo:archivo
}
//Perform the add
var request = store.add(person);
request.onerror = function(e) {
console.log("Error",e.target.error.name);
//some type of error handler
}
request.onsuccess = function(e) {
console.log("proceso exitoso!");
}
}
function getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
var data = window.btoa(reader.result);
console.log(data);
return data;
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}