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


    asp.net上传文件,使用html控件的file控件,报错【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了。

  • 相关阅读:
    input中的disabled 和 readonly的区别
    pwa-serviceWorker与页面通信postMessage
    PWA之push服务
    vue+typescript入门学习
    基于node 搭建http2服务
    阻止默认行为是配合passive使用
    正则表达式exec方法的陷阱
    serviceWorker-资料参考
    MVC的增删改和Razor
    MVC基础
  • 原文地址:https://www.cnblogs.com/weekzero/p/2914120.html
Copyright © 2020-2023  润新知