asp.net上传文件使用fileupload控件,判断文件类型和大小,取得文件路径时报错【System.IO.FileNotFoundException:未能找到文件】的解决办法
2015-10-25 11:02
1066 查看
asp.net上传文件,使用html控件的fileupload控件,报错【System.IO.FileNotFoundException:未能找到文件】,这是文件上传时不能获取全路径名报错。
当上传文件用到文件流,获取客户端上传文件的绝对路径时,由于不同的浏览器下安全设置不同,有时就会报错。
ie7/8/ff/gg中,上传的文件不会显示出全路径,gg和ff只会显示文件名称,ie8会显示C:\\fakepath\test.txt"。这就是因为浏览器的安全设置。
解决方法:
打开ie浏览器-->internet 选项-->安全-->自定义级别-->其他-->将"将文件上载到服务器时显示文件目录路径"启用
确定后重新运行即可。
另解决办法:
如果你报错的地方是你读取文件大小的代码,那和我遇到的是一样的,如下代码:
HttpFileCollection _files = System.Web.HttpContext.Current.Request.Files;
string name = _files[i].FileName;
FileInfo fi = new FileInfo(name);
然后:fi.Length获得文件的大小,来判断上传大小的限制
这样就要报错了,就是上边说到的路径问题了
这时变换一个取得文件大小的方法:_files[i].ContentLength,这样就ok了。
当上传文件用到文件流,获取客户端上传文件的绝对路径时,由于不同的浏览器下安全设置不同,有时就会报错。
ie7/8/ff/gg中,上传的文件不会显示出全路径,gg和ff只会显示文件名称,ie8会显示C:\\fakepath\test.txt"。这就是因为浏览器的安全设置。
解决方法:
打开ie浏览器-->internet 选项-->安全-->自定义级别-->其他-->将"将文件上载到服务器时显示文件目录路径"启用
确定后重新运行即可。
另解决办法:
如果你报错的地方是你读取文件大小的代码,那和我遇到的是一样的,如下代码:
HttpFileCollection _files = System.Web.HttpContext.Current.Request.Files;
string name = _files[i].FileName;
FileInfo fi = new FileInfo(name);
然后:fi.Length获得文件的大小,来判断上传大小的限制
这样就要报错了,就是上边说到的路径问题了
这时变换一个取得文件大小的方法:_files[i].ContentLength,这样就ok了。
相关文章推荐
- asp.net实现识别客户端浏览器或操作系统
- Raspberry Pi 快速搭建ftp
- ASP导出为Word或Excel的最简单方法
- asp中把数据导出为excel的几种方法
- Raspberry Pi 初始化
- ASP.NET缓存全解析
- ASP.NET(C#)--Repeater中生成“序号”列
- 解决 RaspberryPi 树莓派 NTP服务异常 无法自动同步时间
- ASP.NET WEB API 帮助文档引用单独项目中的DTO,见面上不显示字段注释问题解决办法
- 七天来学习ASP.NET MVC (两)——ASP.NET MVC 数据传输
- Asp.Net MVC3.0如何项目部署到Win7 64位系统
- ASP.Net中上传文件的几种方法
- asp.net操作过程中常见错误的解决方法
- asp.net mvc Dropdownlist获取数据库中某字段的值
- asp.net mvc3.0安装失败如何解决
- asp.net mvc3.0安装失败如何解决
- asp.net操作过程中常见错误的解决方法
- Asp.Net MVC3.0如何项目部署到Win7 64位系统
- Joint Sentiment/Topic Model & Aspect and Sentiment Unification Model
- ASP代码开发规范