2011-09-02 116 views
11

在它實際上傳到服務器之前,是否可以使用Javascript來檢查文件大小(在客戶端)?在Internet Explorer中上傳之前檢查文件大小的Javascript

該應用程序構建在EXTJS和Java上,並且僅限於Windows XP計算機上的Internet Explorere 7的使用。不允許使用activeX。

工作流程如下: 用戶選擇要上傳的文件。 驗證立即開始檢查文件類型和文件大小。 如果文件大小超過限制,GUI將提示錯誤。 如果文件大小在限制範圍內,完整的文件路徑將被傳遞到服務器端(java servlet)進行上傳。

是否可以用javascript實現文件大小檢查和完整文件路徑的讀取?

回答

0

你不能這樣做的原因是因爲如果瀏覽器和JavaScript可以訪問客戶端文件系統,那將會很糟糕。

這被積極否認,可以被視爲攻擊。

Using jQuery, Restricting File Size Before Uploading

+0

怎麼樣的另一種方法。說我有一個輸入表單,首先找到完整的文件路徑,然後將其饋送到文件大小檢查代碼。我看着uploadify,swfupload,fancifulupload和yuiuploader。我似乎無法將完整的文件路徑「饋入」它們。 – user924590

3

目前還沒有任何辦法可移植檢查從Web瀏覽器上傳文件的大小。 HTML5 File API使這成爲可能,但這在MSIE7中不可用 - 它目前正在爲MSIE10進行。

有意無法確定上傳文件的完整路徑,因爲這可能包含敏感信息,如最終用戶的名稱。

+0

我正在尋找PRE上傳文件。例如,當我選擇了文件,然後選擇PRIOR到實際的上傳來獲取文件大小和完整的文件路徑。 – user924590

+1

正如我所指出的,目前沒有辦法來檢測文件的大小,並且存在(並且可能永遠不會)以任何方式來確定本地路徑。 – duskwuff

4

它可能與ActiveX對象。

<html> 
<head> 
<script> 
function getSize() 
{ 
    var myFSO = new ActiveXObject("Scripting.FileSystemObject"); 
    var filepath = document.upload.file.value; 
    var thefile = myFSO.getFile(filepath); 
    var size = thefile.size; 
    alert(size + " bytes"); 
} 
</script> 
</head> 
<body> 
<form name="upload"> 
<input type="file" name="file"> 
<input type="button" value="Size?" onClick="getSize();"> 
</form> 
</body> 
</html> 
+0

感謝您的代碼。正如我在第一篇文章中提到的,不要採用ActiveX方式。 :) – user924590

-3

請嘗試以下代碼,

<html> 
<head> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script> 
<script type="text/javascript"> 
$(function() { 
$("document").ready(function(){ 
     $("#myFile1").change(function() { 

     var f1=document.getElementById("myFile1").value; 
     if((f.size||f.fileSize)==09765625) 
     { 
     alert("file size is less than 1mb"); 
     } 
     else 
     { 
     alert("file size should not exceed more than 1mb"); 
       $(this).val($.data(this, 'f')); 
     return false; 
     } 

      }); 
}); 
}) 
</script> 
</head> 
<body> 

<input type='file' name="file" id="myFile1" /> 

</body> 
</html> 
+0

此代碼具有誤導性 – nicoabie

相關問題