如何将文件的名称和大小传递给 JavaScript 的 FileHandler 的 .onload 事件。如您所见,我在下面的 Ajax 调用中使用了(仍未声明的)size
变量name
。但是,我必须以某种方式从getData()
函数中传递它们。
我发现将参数传递给 FileReader onload 事件,但它似乎对我不起作用。
getData('file2093',
function(e) {
new Ajax.Request('/documents/2093', {
asynchronous:true, evalScripts:true, method:'patch', parameters:'document_payload=' + btoa(e.target.result) + '&document_filename=' + btoa(name) + '&document_size=' + btoa(size)
});
})
function getData(inputField, onLoadCallback){
var input = document.getElementById(inputField);
var file = input.files[0];
var size = file.size;
var name = file.name;
var fr = new FileReader();
fr.onload = onLoadCallback
fr.readAsDataURL(file);
}