Excel缓存路径拒绝访问的问题

本地Visual Studio 2019以管理员身份运行一个Asp.Net MVC的解决方案,在业务层使用MiniExcel解析用户上传的excel,没有碰到问题,代码给到同事发布测试,先在他本地运行,发现报下图的错误,

 调试代码发现MiniExcel缓存文件的路径默认会写到iis的安装目录下,该目录对于iis没有读写权限,于是下载了MiniExcel的源码,找到代码的具体位置在类SharedStringsDiskCache中,设置缓存文件的路径,

public SharedStringsDiskCache()
        {
            var path = $"{Guid.NewGuid().ToString()}_miniexcelcache";
            var basePath = System.AppDomain.CurrentDomain.BaseDirectory+ "\\excel_cache";
            if(!Directory.Exists(basePath))
            {
                Directory.CreateDirectory(basePath);
            }
            _positionFs = new FileStream($"{basePath}\\{path}_position", FileMode.OpenOrCreate);
            _lengthFs = new FileStream($"{basePath}\\{path}_length", FileMode.OpenOrCreate);
            _valueFs = new FileStream($"{basePath}\\{path}_data", FileMode.OpenOrCreate);
        }

至此,程序部署到iis后,缓存文件的路径默认存放在web站点当中了。 

MiniExcel源码位置:MiniExcel: 简单、高效避免OOM的.NET处理Excel查、写、模版填充数据工具。 (gitee.com)icon-default.png?t=M85Bhttps://gitee.com/dotnetchina/MiniExcel

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值