我想在html5中製作一個非常簡單的圖片上傳器。html5圖片上傳
<input type="file" multiple=""/>
我想要做的就是顯示上傳的內容,而不使用PhP或任何東西。我可以使用類似於此的代碼嗎?
<img src="WHATEVER WAS UPLOADED"/>
謝謝!
我想在html5中製作一個非常簡單的圖片上傳器。html5圖片上傳
<input type="file" multiple=""/>
我想要做的就是顯示上傳的內容,而不使用PhP或任何東西。我可以使用類似於此的代碼嗎?
<img src="WHATEVER WAS UPLOADED"/>
謝謝!
您可以使用HTML5文件API進行存檔。
下面的教程應該讓你開始:Reading local files in JavaScript
但讀本地文件教程使用filereader,不適用於IE。它適用於其他瀏覽器[請點擊這裏](http://caniuse.com/filereader) – 2012-12-11 06:09:41
我發現
http://www.html5rocks.com/en/tutorials/file/dndfiles/
相當有幫助的。
如果你不想將圖像推到某些服務器(我認爲這從你的問題),你可以在本地更新的圖像:
<style>
.thumb {
height: 75px;
border: 1px solid #000;
margin: 10px 5px 0 0;
}
</style>
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {
// Only process image files.
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Render thumbnail.
var span = document.createElement('span');
span.innerHTML = ['<img class="thumb" src="', e.target.result,
'" title="', escape(theFile.name), '"/>'].join('');
document.getElementById('list').insertBefore(span, null);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
或諸如此類。
你可以修改這個只接受一個圖像(即不是多個圖像),並刪除循環處理? 'files'在幾個地方使用,我不確定它是指變量'files'還是id''文件'或名稱'files',所以我一直無法進行修改。 – user1063287 2014-01-14 08:39:56
這似乎適用於單個圖像上傳和預覽,並基於上述代碼http://jsfiddle.net/rwone/4n8HW/ – user1063287 2014-01-14 09:19:07
進一步的說明和更多代碼可以從此鏈接中找到:https:// www。 html5rocks.com/en/tutorials/file/dndfiles/ – domdambrogia 2017-08-15 00:09:33
可能的重複:http://stackoverflow.com/questions/5256620/can-i-preview-the-image-file-who-uploaded-by-user-in-the-browser – 2012-01-17 07:59:15