ファイルの名前とサイズを JavaScript の FileHandler の .onload イベントに渡す方法を教えてください。ご覧のとおり、(まだ宣言されていない) 変数size
とname
以下の Ajax 呼び出しを使用しています。ただし、関数からそれらを渡す必要がありgetData()
ます。
Pass a parameter to 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);
}