簡體   English   中英

限制圖像大小和jQuery類型

[英]restricting image size and type in jquery

我輸入的是type = file。 這用於上傳圖像。 現在,我想將圖像大小限制為500 kb,並僅將圖像鍵入.png。 請幫忙

單獨使用javascript不可能實現此操作,因為它無法訪問本地文件系統以在上傳之前檢查文件大小。

解決方法是使用具有本地文件訪問權限的Flash,或在服務器端檢查文件,但這並不理想,因為這仍然意味着可以在檢查文件大小有效性之前上傳大文件。

我不認為您可以使用javascript來限制文件的大小,對於文件擴展名,您可以執行以下操作:


var ext = $('#my_file_field').val().split('.').pop().toLowerCase();
if($.inArray(ext, ['png']) == -1) {
    alert('invalid extension!');
}

我認為這必須在服務器端完成。 我認為您無法檢測到jQuery中文件上傳的大小。 這是因為JavaScript無法訪問本地文件系統。

嘗試:

<input type="hidden" name="MAX_FILE_SIZE" value="500000" />

指定的值是可通過此表單上載的最大允許KB。 值100000將允許最大100kb的文件。

但是,這是HTML,可以繞開,您仍然需要執行PHP /服務器端驗證,例如:

IF($_FILES['file']['size'] > 500000){// show error}

在php中,大小值以字節為單位

您可以檢查$ _FILES ['file'] ['type']以僅將其限制為png文件,例如:

IF($_FILES['file']['type'] != "image/jpeg"){// show error}

嘗試這個:

var myFSO = new ActiveXObject("Scripting.FileSystemObject");
var filepath = document.upload.file.value;
var thefile = myFSO.getFile(filepath);
var size = thefile.size;

var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase(); 
if(ext=="png" && size=500000)
return true;
else
alert("invalid filetype or size greater than 500kb");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM