首页 新闻 赞助 找找看

mvc上传文件容量巨大 的问题

0
悬赏园豆:20 [已解决问题] 解决于 2012-08-20 12:54

控制器代码:

        public ActionResult FileUpload()
        {
            //1.获取文件信息
            HttpPostedFileBase file = Request.Files["file"];

             //2.判断文件大小,扩展名(可以用js实现)
            if (file.ContentLength > 1048576)
            {
               //xxxxxxxxx
            }
            //2.判断文件类型
            if (file.ContentType != "mages/png" || file.ContentType != "image/gif")
            {
                //xxxxxxxxx
            }
            if (file.FileName != null)
            {
                string serverPath = HttpContext.Server.MapPath("../Content/img");
                //2.判断文件目录是否存在
                if (!Directory.Exists(serverPath))
                {
                    Directory.CreateDirectory(serverPath);
                }
                string filePath = Path.Combine(serverPath, Path.GetFileName(file.FileName));
                file.SaveAs(filePath);
                return View("Index");
            }
            else
            {
                return View();
            }
        }

这个一句HttpPostedFileBase file = Request.Files["file"];

当我的客户端上传的是 jpg txt rar的时候可以获取到(容量比较小)

当我上传一个1g多的iso文件后缀的就报错了 提示null 请问大侠这个怎么修改呢?

 

还有这个代码js判断文件大小是我在网上找的 我看好多地方用用了

         function   CheckFileSize() {      
             var FileMaxSize = 1000;//限制上传的文件大小,单位(k)    
             var   s   =   document.getElementById("file").value;           
             var   img   =   new   Image();       
             img.src   =   document.getElementById("file").value;
             if (img.fileSize > FileMaxSize * 1024) {
                 alert("The file size exceeds " + FileMaxSize + "K,please choose a smaller one!");
                 return false;
             }
     }

img.fileSize根本就没有这个属性 我利用火狐看了  难道没有测试吗?

问题补充:

谢谢各位的回答我知道了!

s_p的主页 s_p | 初学一级 | 园豆:138
提问于:2012-08-18 19:06
< >
分享
最佳答案
0

超大文件,例如1G以上的文件不建议使用网页上传,应该提供专用的上传工具,ftp等等。其实上百MB的上传都是不太赞成的。一楼说到的swfupload插件很好用。你不妨试试。

收获园豆:7
jerry-Tom | 老鸟四级 |园豆:4077 | 2012-08-20 10:33
其他回答(3)
0

1G文件绝对不可能用这个方式来传送了。

收获园豆:2
chenping2008 | 园豆:9836 (大侠五级) | 2012-08-18 19:39

那怎么写啊 呵呵

支持(0) 反对(0) s_p | 园豆:138 (初学一级) | 2012-08-19 10:14

@s_p: 看下这个 swfupload

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-08-19 11:16
0

JS判断大小只是针对图片。

上传1G的默认根本就到不了你的Action,直接报错。

收获园豆:2
向往-SONG | 园豆:4853 (老鸟四级) | 2012-08-18 20:25
0

啥?

1个G的文件,你就想 

file.SaveAs(filePath); 就完了?额滴神啊
收获园豆:2
八戒的师傅 | 园豆:1472 (小虾三级) | 2012-08-18 22:29

那怎么写啊 呵呵

支持(0) 反对(0) s_p | 园豆:138 (初学一级) | 2012-08-19 10:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册