asp.net上传文件使用fileupload控件,判断文件类型和大小,取得文件路径时报错【System.IO.FileNotFoundException:未能找到文件】的解决办法

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了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值