我有一個用於圖像文件的多重上傳,並且我曾經面對的問題是圖像以與用戶輸入不同的順序出現。例如,用戶選擇Img1,Img2,Img3,Img4。它出現的順序可能是Img2,Img4,Img3,Img1。以與用戶輸入相同的順序多次上傳圖像
這會導致問題,因爲我必須將它們鏈接到文本字段(圖像說明),並且每個文本字段必須匹配正確的圖像。我做了一些挖掘和發現,我可以利用這個代碼在這裏,以確保它在相同的順序被上傳:
HTML
<input id="uploadfiles" multiple="multiple" name="photos" type="file">
的JavaScript
$("#uploadfiles").change(function(){
imgpreview(document.getElementById('uploadfiles').files);
});
function imgpreview(files) {
var count = 0;
for (var i = 0, f; f = files[i]; i++) {
(function() {
var div = $("<div></div>");
var reader = new FileReader();
$(".display").append(div);
reader.onload = function(e) {
div.append("<img id='photocount" + count + "' src='" + e.target.result + "' style='height:40px;width:auto;'></img>");
count++;
};
reader.readAsDataURL(f);
}());
}
}
這裏也有小提琴:https://jsfiddle.net/L3d1L9t3/1/
此JavaScript代碼在這裏確保圖像順序出現。但是,圖像的ID仍然不正確。例如,如果上傳4張圖像,則ID應分別爲光電0,光電1,光電2,光電3。但是,當我檢查每個圖像上的元素時,情況並非如此。
我如何確保「計數」的順序?這很重要,因爲我需要將計數與文本字段(圖像描述)相匹配[「圖像1」與「圖像描述1」配對,「圖像2」與「圖像描述2」配對,等等]