2009-12-04 59 views
3

我想創建一個文件上傳表單。只選擇要上傳的圖片瀏覽按鈕

但我的困惑是,當我把文件元素在HTML中,它允許所有類型的文件來選擇。

我希望該瀏覽按鈕只允許圖像從文件系統中選擇。

其實它應該只顯示文件系統的圖像。

在此先感謝。

+1

」實際上,它應該只顯示文件系統的圖像。「沒有某種可安裝的應用程序是不可能實現的。文件瀏覽器屬於操作系統和用戶,不屬於你自己。 – anddoutoi 2009-12-04 08:51:25

+0

同意anddoutoi。正如我下面所說的,上傳文件的擴展應該在服務器端進行驗證。 – BenTheDesigner 2009-12-04 09:08:08

回答

1

Uploadify將爲您工作。它允許您指定哪些文件類型可供用戶選擇。如果您需要,它還可以允許用戶一次上傳多個文件。所有上傳的文件都顯示在帶進度條的隊列中,並在完成上傳時從隊列中刪除。我強烈推薦它。 「

8

屬性「接受」MIME類型列表,不受任何瀏覽器支持。

<input type="file" accept="image/gif, image/jpeg" /> 

可以理清與JS文件擴展名,或嘗試http://swfupload.org/

+0

這完美的作品! – by0 2012-10-11 21:57:39

1

一般來說,文件上傳應驗證服務器端的「接受」屬性不完全被主流瀏覽器的支持。示例如下:

$accept = array('jpg','png','gif','bmp'); 
$extension = substr($_FILES['file']['name'],strrpos($_FILES['file']['name'],'.')+1); 

if(!in_array($extension,$accept)){ 
    // If the extension is not allowed show an error, else, the file type is valid 
    echo 'Not a valid file extension'; 
} 
+0

wouldnt推薦這個腳本,它有一個漏洞: 提問者不希望用戶上傳除圖像文件之外,但是通過這個腳本用戶可以上傳文件「trojan.gif.php」 你可能會做一些調整,它會修復這個問題 – Haz 2012-05-27 13:03:00

+3

if(($ _FILES [「file」] [「type」] ==「image/jpeg」) – Haz 2012-05-27 13:06:50