2013-10-21 49 views
1

我正在ASP.NET應用程序中上傳文件,我需要獲取某些客戶端驗證的文件大小。以下建議我發現here。我有這樣的事情:當使用ASP.NET(aspx頁面)上傳時,Javascript返回錯誤的文件大小

在ASPX:

<td class="form_input_bold"> 
      <asp:FileUpload Width="80%" ID="fuUploadFile" CssClass="button" runat="server" Font-Names="Verdana" />     
     </td> 

而且在Javascript:

var inputFile = document.getElementById('ctl00_ContentPlaceHolder1_fuUploadFile'); 
alert("File size: " + inputFile.size); 

現在,出於某種原因,當我嘗試上載50 MB的文件,inputFile.size收益20。誰能說出這是爲什麼? ASP.NET正在獲取正確大小的服務器端..

+0

您正在使用現代瀏覽器,對不對? –

+0

@JoeEnos是的,我嘗試了最新版本的Chrome和Firefox。 –

+0

不知道這是否是您的真實代碼,但如果是這樣,您應該修改它,以便您不是硬編碼客戶端控件ID - 而是使用document.getElementById(「<%= fuUploadFile.ClientID%>」) ',這將呈現你擁有它的方式。 –

回答

2

該文件的大小位於輸入控件的files數組的元素中。

var numBytes = document.getElementById("fu1").files[0].size; 
相關問題