複数のファイルアップロードオプションを使用しています。アップロード後、アップロードされた2つのファイルが表示されますが、コンソールでエンコードされた値を印刷しようとすると、最後にアップロードされたファイルのエンコードと価値が得られます。 1つの変数で一度に複数のファイルをエンコードするにはどうすればよいですか?ここで私が試したことがあります。複数のファイルを1つの変数にエンコードする
<html>
<body>
<input id="inputFileToLoad" type="file" onchange="encodeImageFileAsURL();" multiple />
<div id="imgTest"></div>
<script type='text/javascript'>
function encodeImageFileAsURL() {
var filesSelected = document.getElementById("inputFileToLoad").files;
if (filesSelected.length > 0) {
var fileToLoad = filesSelected[0];
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent) {
var srcData = fileLoadedEvent.target.result; // <--- data: base64
var newImage = document.createElement('img');
newImage.src = srcData;
document.getElementById("imgTest").innerHTML = newImage.outerHTML;
//alert("Converted Base64 version is " + document.getElementById("imgTest").innerHTML);
var reslut = document.getElementById("imgTest").innerHTML;
console.log("Converted Base64 version is " +reslut);
}
fileReader.readAsDataURL(fileToLoad);
}
}
</script>
</body>
</html>
使用アレイの代替
loadend
イベントは、複数の値を格納します。 – bumbumpaw'var filesSelected = document.getElementById(" inputFileToLoad ")。ファイル; 'すべてのファイルを返します。これをループすることができます。 – bumbumpaw
私はそれを行う方法を得ていません – user5397448