2017-02-23 105 views
0

我在多圖片上傳時遇到了一個小問題。如果我選擇了多張照片,效果很好,但是如果我上傳3張照片並上傳另一張照片,則只會拍攝最後一張照片。例如enter image description hereHtml Php Ajax圖片上傳

和後我載其他enter image description here

我想的是,當我選擇一個新的圖像,該陣列lenght爲4時,3初始畫面和新的(在提供大量的例子),但我不知道如何,你能給我一些信息/文件。該守則

<div> 
      <label for="image">Add Picture</label> 
      <input type="file" id="upload_file" name="upload_file[]" onchange="preview_image();" multiple/> 

    </div> 

    <div class="image_preview" id="image_preview"></div> 


<div> 

和JavaScript

<script> 
$(document).ready(function() 
{ 
$('form').ajaxForm(function() 
{ 
    alert("Uploaded SuccessFully"); 
}); 
}); 

function preview_image() 
{ 
var total_file=document.getElementById("upload_file").files.length; 
for(var i=0;i<total_file;i++) 
{ 

    $('#image_preview').append("<img src='"+URL.createObjectURL(event.target.files[i])+"'>"); 
} 
} 
</script> 
+0

確保你的'

'元素中包含多部分內容。 – Jer

+0

我有它enctype =「多部分/形式的數據,沒有它,我無法提交文件 –

回答

1

這不是你的代碼的問題。當您瀏覽文件並選擇要上傳的文件並點擊「確定」後,此輸入字段將刪除其舊值。

+0

我怎樣才能改變它不會刪除舊值的確定狀態,但將新值添加到舊值? –

+0

你需要將內容加到tmp文件夾......在你的服務器上,然後如果他添加了另一個圖像,它會將新圖像上傳到服務器,然後在會話結束時將他們的名字存儲在會話中所有文件從temp(與session進行比較)到permnent文件夾 –

+1

無法更改「OK」狀態,瀏覽器和html負責此操作,您可以通過@Gomes方式進行操作,如果您有多個來自同一個ip的用戶,會話或類似的東西在你的服務器或客戶端來跟蹤哪些用戶上傳。 – Emran