1. 程式人生 > >如何在伺服器端下載的網頁中顯示客戶端的圖片

如何在伺服器端下載的網頁中顯示客戶端的圖片

一般情況下,網頁只能顯示伺服器上的圖片。
(網頁中的圖片都是從伺服器端請求來的圖片)。
如何實現頁面中顯示客戶端的圖片呢?(比如說在桌面上拖拽一個圖面到網頁中的容器中)
HTML5中提供的用於檔案輸入輸出(I/O)的物件:
File:代表一個檔案/目錄檔案物件
FileList:代表一個檔案列表(類陣列物件)
FileReader:用於從檔案中讀取內容
FileWriter:用於向檔案寫出內容

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>
Document</title> <style> #container{ width: 400px; height: 200px; border:1px solid #aaa; } </style> </head> <body> <h2>請拖拽您的圖片到下放區域中</h2> <div id="container"></div> <script> //拖放的目標物件--document,監聽drop事件,防止瀏覽器中開啟客戶端圖片 document.ondragover
=function(e){ //阻止dragover的預設行為;繼續觸發dragleave e.preventDefault(); } document.ondrop=function(e){ //阻止document的drop事件的預設行為:在當前敞口中開啟客戶端圖片 e.preventDefault(); } //拖放的源物件--客戶端的圖片 //拖放的目標物件--div#container,若圖片釋放此元素上方,則需要在其中顯示出該圖片 container.ondragover=function(e){ e.preventDefault(); } container.ondrop=function
(e){ //讀取拖放進來的客戶端圖片 //提示Chrome此處的顯示有問題:files.length:0,其實不是0 //遍歷拖進來的內容 /*for(var i=0;i<list.length;i++){ var f=list[i]; console.log(f); }*/ var f0=e.dataTransfer.files[0]; var reader=new FileReader();//檔案讀取器 //只適合於文字檔案,讀取指定為檔案的內容,作為'資料URL' reader.readAsDataURL(f0); reader.onload=function(){ //客戶端檔案讀取完成 var img=new Image(); img.src=reader.result;//DataURL container.appendChild(img); } } </script> </body> </html>