js 获取文件大小 <SCRIPT LANGUAGE="JavaScript">
function getFileSize(fileObj) 
{
 var fso = new ActiveXObject('Scripting.FileSystemObject');
 var file = fso.GetFile(fileObj.value);
 var fileSize = file.Size ; alert(fileSize/1024/1024);
    
 if((fileSize/1024) < 1024){
  alert(fileSize/1024+"K");
 }else if( ((fileSize/1024) > 1024) && ((fileSize/(1024*1024)) < 1024)){
  alert(fileSize/(1024*1024)+"M");
 }else{
  alert(fileSize/(1024*1024*1024)+"G")
 }    
}  
</SCRIPT>
<input type="file" onchange="getFileSize(this);" />http://ss3025.iteye.com/blog/1133434

解决方案 »

  1.   

    使用Silverlight或者SWFUpload实现,上传控件实现不了
      

  2.   

             #region 上傳EXCEL文件
                ArrayList excelType = new ArrayList();//文件类型
                excelType.Add("application/vnd.ms-excel");
                string name = fileUpxls.FileName;
                string[] arrName = name.Split('.');
                NewExcelName = arrName[0] + "_" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + rd.Next(11, 99).ToString() + "." + arrName[1];
                int size = fileUpxls.PostedFile.ContentLength;//获取文件大小,自行判断或限制即可
                string type = fileUpxls.PostedFile.ContentType;
                savepath = Server.MapPath("~/Products") + "\\" + NewExcelName;
                hfExcelName.Value = savepath;
                if (excelType.Contains(fileUpxls.PostedFile.ContentType))
                {
                    fileUpxls.SaveAs(savepath);
                    btnSaveDB.Visible = true;
                    strMessage = "恭喜,商品訊息上傳成功!";
                    MessageBoxHelper.Show(this, strMessage);
                }
                else
                {
                    strMessage = "Sorry,文件上傳格式不正確或要上傳的文件在打開狀態,請確認!";
                    MessageBoxHelper.Show(this, strMessage);
                }
                #endregion
      

  3.   

    先感谢一下以上4位的回答。
    glasses1999:
    我就是想避免这种情况,因为到达后台的时候,文件其实已经上传到服务器的内存里了,
    如果文件太大,好不容易上传完之后,告诉用户文件太大。。这个体验不太好。。highpr:
    js+ActiveX方法我想过,但是因为局限性太大
    1、只能在IE下;
    2、new ActiveXObject('Scripting.FileSystemObject');的时候,如果浏览器的安全性选项没有打开的话,应该会提示无法创建(至少也会提示需要用户同意)。
    想顺利使用的话必须要降低浏览器安全性选项,倒不是说多么不安全,而是对用户来说太烦了。我公司网站的用户都是不怎么懂电脑的人net_lover:
    这是最后不得已的选择了。yanlele424:
    非常感谢你的帮助,但是和我的需求还是有不小的差距。我的本意是:在HttpRequest发起的时候截取到这个Request,然后对Request进行处理,使得它能够不上传文件。
      

  4.   

    http://www.open-open.com/home/space-668-do-blog-id-741.html
    看看有木有你要的