1
我想讓用戶選擇一個文件。路徑位置應該存儲在JavaScript字符串中。後來驗證後,我想做一個Ajax調用服務器上傳文件到服務器上使用PHP。如何在不提交表單的情況下從輸入字段獲取文件路徑?
我不想直接提交表單,因爲頁面會重新加載,並且執行了很多sql查詢,並且會在服務器上造成不必要的負載。
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// files is a FileList of File objects. List some properties.
var output = [];
for (var i = 0, f; f = files[i]; i++) {
alert(JSON.stringify(f));
output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
f.size, ' bytes, last modified: ',
f.lastModifiedDate ? f.lastModifiedDate.toLocaleDateString() : 'n/a',
'</li>');
}
document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
此警報提供了詳細信息,但不是我想要的路徑。
獲取路徑的任何幫助,所以我可以通過使用jQuery的ajax傳遞字符串,並使用move_uploaded_file使用php上傳文件。
在此先感謝。
你想達到什麼目的?通過AJAX上傳文件?你不能只通過AJAX傳遞一個字符串,你需要實際上傳文件。 – putvande
爲了安全起見,你試圖實現的目標是不可能的,瀏覽器永遠不會返回這個。你可以在這裏找到答案:http://stackoverflow.com/questions/15201071/how-to-get-full-path-of-selected-file-on-change-of-input-type-file-using-jav – scraaappy
@putvande嗨,先生我想文件路徑作爲一個字符串,並作出ajax請求上傳文件。我不知道這是否可以完成 – user2626445