如果您不想將圖像上傳到服務器端,您只能在客戶端執行此操作。
添加一個div到HTML(DOM):
<div id='bottom'>
<div id='drag-image' class='holder-file-uploader bottom-asset'> Drag here an image</div>
</div>
添加此javascript:
<script>
var holder = document.getElementById('drag-image');
holder.ondragover = function() { return false; };
holder.ondragend = function() { return false; };
holder.ondrop = function (event) {
event.preventDefault && event.preventDefault();
//do something with:
var files = event.dataTransfer.files;
console.log(files);
bottomFileAdd(files, 0);
return false;
};
//Recursive function to add files in the bottom div
//this code was adapted from another code, i didn't test it
var bottomFileAdd = function (files, i) {
if(!i) i=0;
if (!files || files.length>=i) return;
var file = files.item(i);
var img = document.createElement('img');
var bottom = document.getElementById('bottom'); //this string should not be static
bottom.appendChild(img);
var reader = new FileReader();
reader.onload = function (event) {
console.log(event.target);
img.src = event.target.result;
bottomFileAdd(files, i+1);
};
reader.readAsDataURL(file);
}
</script>
注:這可能並不適用於舊的瀏覽器。
我希望它有幫助。
那麼我能做些什麼來解決這個問題? – user3335903
您可以使用JavaScript文件閱讀器閱讀圖像,並使用畫布對象進行顯示。不確定瀏覽器兼容性,因爲它需要一些html5的東西。 – Marius