MVC埰坑日记 文件权限
public static void DownLoadFile(string FileFullPath)
{
if (!string.IsNullOrEmpty(FileFullPath) && FileExists(FileFullPath))
{
FileInfo fi = new FileInfo(FileFullPath);//文件信息
FileFullPath = HttpUtility.UrlEncode(Path.GetFileName(FileFullPath)); //对文件名编码
FileFullPath = FileFullPath.Replace("+", "%20"); //解决空格被编码为"+"号的问题
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileFullPath);
HttpContext.Current.Response.AppendHeader("content-length", fi.Length.ToString()); //文件长度
int chunkSize = 102400;//缓存区大小,可根据服务器性能及网络情况进行修改
byte[] buffer = new byte[chunkSize]; //缓存区
using (FileStream fs = fi.Open(FileMode.Open)) //打开一个文件流
{
while (fs.Position >= 0 && HttpContext.Current.Response.IsClientConnected) //如果没到文件尾并且客户在线
{
int tmp = fs.Read(buffer, 0, chunkSize);//读取一块文件
if (tmp <= 0) break; //tmp=0说明文件已经读取完毕,则跳出循环
HttpContext.Current.Response.OutputStream.Write(buffer, 0, tmp);//向客户端传送一块文件
HttpContext.Current.Response.Flush();//保证缓存全部送出
Thread.Sleep(10);//主线程休息一下,以释放CPU
}
}
}
}
这是从某项目当中找到的一段代码
在本机和测试环境 调用没有问题
在实际生产环境当中 IIS给了文件夹 USERS和IIS_IUSRS 读取权限 结果怎么都无法下载文件
原因:FileMode.Open 需要写入权限
MVC埰坑日记 文件权限的更多相关文章
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(16)-类库架构扩展以及DLL文件生成修改和用户的简单添加 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- oracle入坑日记<二>认识oracle(含sqlplus基础使用)
1.SID(数据库实例) 1.1. oracle安装的时候有一项叫[全局数据库名]的填写项,这个就是oracle的SID也是数据库的唯一标识符: 1.2.一个oracle数据库有且只有一个SID(一般 ...
- Hexo搭建静态博客踩坑日记(一)
前言 博客折腾一次就好, 找一个适合自己的博客平台, 专注于内容进行提升. 方式一: 自己买服务器, 域名, 写前端, 后端(前后分离最折腾, 不分离还好一点)... 方式二: 利用Hexo, Hug ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(22)-为用户设置角色
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2):数据库访问层的设计Demo (3):面向接口编程 (4 ):业务逻辑层的封装 ...
- 用最基本的EF+MVC+JQ+AJAX+bootstrap实现权限管理的简单实例 之登陆和操作权限
先来一堆关于上篇文章的废话(不喜者点此隐藏) 今天把博客加了个小功能,就是点标题可以隐藏或展示相关内容,做法很傻,就是引用了bootstrap的两个css类和全部的js文件,其实这样的小功能完全应该自 ...
- (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理
用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证)
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(17)-注册用户功能的细节处理(各种验证) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 (2 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(12)-实现用户异步登录和T4模板 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 ...
随机推荐
- 使用Struts2开发Java Web应用程序(目录)
连接地址 http://blog.csdn.net/struts2/article/details/1721752
- HDU-4927 Series 1
http://acm.hdu.edu.cn/showproblem.php?pid=4927 同学用java写的大整数相减 Series 1 Time Limit: 2000/1000 MS (Jav ...
- unity3d shader之实时室外光线散射(大气散射)渲染
散射需要:吸收,内散射,外散射分为瑞利散射Rayleigh Scattering和米氏散射 Mie Scattering 后面会详细讲解 大气中散射由多种原因产生,微粒,尘埃,水蒸气等等 阳光由于散 ...
- git入门超详细(转载)
转自:http://www.cnblogs.com/tugenhua0707/p/4050072.html Git使用教程 一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SV ...
- iOS中控件的Frame属性和Bounds属性的区别
在iOS中,每个控件都是继承于UIView的,都会有视图的属性存在,控制这个视图的位置就有Frame和Bounds两个属性 frame指的是:该view在父view坐标系统中的位置和大小.(参照点是父 ...
- XML文档部署到Tomcat服务器上总是加载出错
config.xnl 起初文档路径是在src/Dao/config.xml 在Dao目录下BaseDao类中,解析config.xml文件路径 path="/Dao/config.xml&q ...
- (转载)ASP网站如何防止注入漏洞攻击
SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如 果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉.但 ...
- 月見(つきみ) 夕(ゆう) SumiHui.墨虺
造影早迎中秋,自己通过word设计的
- centos_6.7_系统初始化
#!/bin/bash #****************************************************************# # ScriptName: acfunin ...
- 「S-A-L-T-A」项目失败总结!
前言: 从2013年8月20日进入这个项目开始,到现在12月12日. 从项目详细设计开始,到现在连SI2阶段的疏通测试都没有完成! (现在,这个项目好像已经不需要我们再做下去了...) 项目失败原因总 ...