當前位置:首頁 » 文件管理 » 多圖上傳帶預覽

多圖上傳帶預覽

發布時間: 2022-08-26 00:09:12

⑴ 怎麼實現圖片上傳前預覽功能呢

預覽圖片
預覽功能的基本設計思路:創建一個img元素,再把文件域的value值賦值給img元素的src屬性。

<form name="form4" id="form4" method="post" action="#">

<input type="file" name="file4" id="file4" ōnchange="preview4()" />

<img id="pic4" src="" alt="圖片在此顯示" width="120"/>
</form>

<scrīpt type="text/javascrīpt">

function preview4(){

var x = document.getElementById("file4");

var y = document.getElementById("pic4");

if(!x || !x.value || !y)

return;

var patn = /\.jpg$|\.jpeg$|\.gif$/i;

if(patn.test(x.value)){

y.src = "file://localhost/" + x.value;

}

else{ alert("您選擇的似乎不是圖像文件。"); }

}

</scrīpt>

試下效果:


如果你用的是Firefox(或Opera),可能會發現什麼也沒有發生。是的,很不幸Firefox的安全策略不允許我們顯示一個用戶的本地圖像文件。不知道他們為什麼要這么做,我個人覺得圖像文件並不會造成嚴重的安全性問題。即使是不久前比較熱門的那個會引起Windows崩潰的jpeg文件,要顯示它的前提條件是用戶自己選擇了這個文件或者你知道這個文件在用戶硬碟上的准確路徑。所以我想這種策略很可能來自於一個「懶惰」的開發人員,他並不想多寫一些程序來區分這個本地文件是一個圖像文件還是一個惡意文件,Firefox對安全性的要求讓他們有些過於敏感了。

讓Firefox顯示本地文件的唯一辦法就是修改它的默認安全策略:

在Firefox的地址欄中輸入「about:config」
繼續輸入「security.checkloari」
雙擊下面列出來的一行文字,把它的值由true改為false
然後你可以再試試上面預覽,everything works well!可惜的是我們並不能要求所有的用戶都去修改這個值(更不用說修改的過程還挺麻煩),所以這對我們來說毫無意義。我們能做的也許就是接受Firefox不能預覽本地圖片這種「可笑」的局面。

用DOM來創建對象
在上面的XHTML代碼中,我們為了預覽圖片,事先加入了一個沒有設置src的img對象。除去不美觀、代碼冗餘之外,如果用戶瀏覽器不支持Javascrīpt,他不僅無法使用這個功能,還要接受頁面上一個永遠不會顯示出來的破圖。要解決這個問題,我們就需要在「運行時」再生成這個img對象,途徑還是DOM。

<form name="form5" id="form5" method="post" action="#">

<input type="file" name="file5" id="file5" ōnchange="preview5()"/>

</form>

<scrīpt type="text/javascrīpt">

function preview5(){

var x = document.getElementById("file5");

if(!x || !x.value)

return;

var patn = /\.jpg$|\.jpeg$|\.gif$/i;

if(patn.test(x.value)){

var y = document.getElementById("img5");

if(y){ y.src = 'file://localhost/' + x.value; }

else{

var img=document.createElement('img');

img.setAttribute('src','file://localhost/'+x.value);

img.setAttribute('width','120');

img.setAttribute('height','90');

img.setAttribute('id','img5');

document.getElementById('form5').appendChild(img);

}

}

else{ alert("您選擇的似乎不是圖像文件。"); }

}

</scrīpt>

熱點內容
cos伺服器搭建 發布:2024-10-13 16:17:41 瀏覽:330
象棋軟體演算法 發布:2024-10-13 15:32:35 瀏覽:895
平板怎麼看真正配置 發布:2024-10-13 14:53:32 瀏覽:30
微信存儲空間的其他 發布:2024-10-13 14:52:14 瀏覽:667
怎麼繞過系統密碼登錄密碼登錄密碼登錄 發布:2024-10-13 14:47:41 瀏覽:506
ios騰訊緩存視頻怎樣轉入本地視頻 發布:2024-10-13 14:33:12 瀏覽:823
python如何遍歷文件 發布:2024-10-13 14:28:57 瀏覽:930
仿qq音樂源碼 發布:2024-10-13 14:28:08 瀏覽:400
資料庫表代碼 發布:2024-10-13 14:27:35 瀏覽:957
數車g76編程實例 發布:2024-10-13 14:23:17 瀏覽:225