忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/05    04« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  »06

JavaScript で複数のファイルを読み込む

例によって jQuery でやっているがイベントのバインド部分と途中経過の表示部分のみ。

fileReader に素直なループで読み込ませると fileReader.result がどんどん上書きされてしまうのでウェイトを入れている。ただ、 fileReader を複数 new すればこんなことしなくてもいい気はする。さらに、今は Blog.text() なるメソッドを使う方がベターっぽい。

const fileReader = new FileReader();
fileReader.onload = (e) => {
	$('#result').val(`${$('#result').val()}\n${fileReader.result}\n------------------------------`);
};
$('#base').on('drop', (e) => {
	e.preventDefault();
	const files = e.originalEvent.dataTransfer.files;
	const recursiveRead = (array, cursor) => {
		if(array.length > cursor) {
			$('#base').text(`読み込み中…… ${cursor + 1} / ${array.length}`);
			fileReader.readAsText(array[cursor]);
			setTimeout(()=>{recursiveRead(array, cursor + 1);}, 500);
		} else {
			$('#base').text(`おしまい!`);
		}
	};
	recursiveRead(files, 0);
});
PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R