Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)

Response. AppendHeader使用大全文件下载,指定默认名
Response.AddHeader(”content-type”,”application/x-msdownload”);
Response.AddHeader(”Content-Disposition”,”attachment;filename=要下载的文件名.rar”);
刷新页面
Response.AddHeader “REFRESH”, ”60;URL=newpath/newpage.asp”
这等同于客户机端<META>元素:
<META HTTP-EQUIV=”REFRESH”, “60;URL=newpath/newpage.asp”
页面转向
Response.Status = “302 Object Moved”
Response.Addheader “Location”, “newpath/newpage.asp”
这等同于使用Response.Redirect方法:
Response.Redirect “newpath/newpage.asp”
强制浏览器显示一个用户名/口令对话框
Response.Status= “401 Unauthorized”
Response.Addheader “WWW-Authenticate”, “BASIC”
强制浏览器显示一个用户名/口令对话框,然后使用BASIC验证把它们发送回服务器(将在本书后续部分看到验证方法)。
如何让网页不缓冲
Response.Expires = 0
Response.ExpiresAbsolute = Now() - 1
Response.Addheader “pragma”,”no-cache”
Response.Addheader “cache-control”,”private”
Response.CacheControl = “no-cache
应用实例:文件下载
做下载中文显示乱码怎么办
在网站上文件下载都是直接点击文件联接就行了,这种方法有几个弊端:
1. 有些文件不会下载会直接调用相应的程序打开该文件
2。不能隐藏实际文件地址。
3。不能够从数据库中动态读取文件名进行改名下载
下面是asp.net,c#代码:
string fileName;//文件在数据库中的名称
string dir ;//文件在服务器的物理路径(如c:\aa\ddd\wj0000222.zdo)
long size ;//文件的大小
Response.AddHeader(”content-type”, “application/x-msdownload;”);
Response.AddHeader(”Content-Disposition”,”attachment;filename=”+fileName[自己定义的]);
Response.AddHeader(”content-length”, size.ToString());
Response.WriteFile(dir,0,size);
这种方法可以实现以上的目的,但是当文件名(fileName)为中文时在ie下载端显示的是乱码,有谁知道怎么解决。
我来做个总结吧
其实楼上的方法是可行的,但有局限性关键在于UrlEncode这个东东,在下面不同情况下的结果是不一样的
1。web.config 里responseEncoding=”gb2312″
2。web.config 里responseEncoding=”utf-8″
使用Server.UrlEncode的话必须responseEncoding=”utf-8″才会正确所以不要用Server.UrlEncode,换HttpUtility.UrlEncode
string s=HttpUtility.UrlEncode(System.Text.UTF8Encoding.UTF8.GetBytes(”中文.txt”));
Response.AppendHeader(”Content-Disposition”,“attachment;filename=”+s);--------------------------------------------------------------------------------关于Response.WriteFileResponse.WriteFile使用起来很方便,但是当网站为浏览者提供大块头文件的下载服务时就会发现WriterFile简直就是恶梦,它会非常占用资源,而且如果当大量用户同时访问大量文件时,会引用IIS崩溃.--------------------------------------------------------------------------------慎用Response.TransmitFileTransmitFile与WriteFile一样的实现机制,依然会有资源占有的问题,而且只针对IE,支持IE的断点续传.
但是,如果TransmitFile一个70MB的东西,每一次执行完毕aspnet_wp.exe退出线程怎么最快也要20秒。这太不划算了。
就算开始用户点取消,没有下载,还是要20秒。(为什么最快呢?用户关闭了浏览器之后,TransmitFile的源文件里面的flush不阻塞,所以最快)
这个TransmitFile的意思就是aspnet_wp.exe永远要读完这个文件!
这个算法在大部分时间是OK的。因为除非你这个文件很大。否则就让他读吧。
如果有2GB那么大,用户都关了浏览器要还让他读就不划算了。如果请求很多,就更麻烦了。要慎用。

 

转载于:https://www.cnblogs.com/xyzhuzhou/archive/2013/05/16/3081257.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# WPF MVVM模式Caliburn.Micro框架下事件发布与订阅

01—前言处理同模块不同窗体之间的通信和不同模块之间不同窗体的通信&#xff0c;Caliburn提供了一种事件机制&#xff0c;可以在应用程序中低耦合的模块之间进行通信&#xff0c;该机制基于事件聚合器服务&#xff0c;允许发布者和订阅者之间通过事件进行通讯&#xff0c;且彼…

mysql触发器 node_node.js中事件触发器events的使用

node.js是基于事件驱动的&#xff0c;通过events&#xff0c;我们可以方便的创建事件&#xff0c;并通过触发事件来调用我们自定义的监听函数。所有能触发事件的对象都应该是 EventEmitter 类的实例&#xff0c;一般我们自定义一个类继承于 EventEmitter 类。通过on()方法我们可…

Android之UI线程与子线程交互设计的5种方法

转载地址:http://www.cr173.com/html/19165_1.html 在android的设计思想中,为了确保用户顺滑的操作体验。一些耗时的任务不能够在UI线程中运行,像访问网络就属于这类任务。因此我们必须要重新开启一个后台线程运行这些任务。然而,往往这些任务最终又会直接或者间接的需要访…

svn: Can't open file '/a/b/db/txn-current-lock': Permission denied

SVN新建完版本库&#xff0c;在提交的时候报出如下错误 svn: Cant open file /a/b/db/txn-current-lock: Permission denied Permission denied svn: Cant make directory /a/b/dav/activities.d: Permission denied Permission denied 解决方法&#xff1a; chmod -R 755 /a/b…

常用的加密算法---数字摘要

数字摘要&#xff1a;数字摘要也称为消息摘要&#xff0c;它是一个唯一对应一个消息或文本的固定长度的值&#xff0c;它是一个单向Hash函数对消息进行计算产生的。摘要生成的过程&#xff1a;待摘要串-----> Hash函数-----> 摘要消息摘要的特点&#xff1a;1.无论输入的…

清华最强本科生Top10出炉,从来没有什么天才学霸!

全世界只有3.14 % 的人关注了爆炸吧知识‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍本文转自&#xff1a;量子位作者&#xff1a;木易 鱼羊一年一度&#xff0c;清华园里的“神仙打架”&#xff0c;投票结果已经出炉。根据清华大学官方消息&#xff0c;2020年清华大学特等奖学金&#x…

day19(中)_IO流3(模拟缓冲区,装饰设计模式)

1.MyBufferedReader和MyBufferedInputStream 1.模拟字符读取流的缓冲区: /*根据readLine原理:自定义一个类包含一个功能和readLine一致的方法来模拟以下BufferedReader方法 */ package myreadline; import java.io.FileReader; import java.io.IOException;class MyBufferedRea…

手把手教你学Dapr - 8. 绑定

介绍使用绑定&#xff0c;您可以使用来自外部系统的事件触发您的应用程序&#xff0c;或与外部系统交互。这个构建块为您和您的代码提供了几个好处&#xff1a;消除连接和轮询消息系统&#xff08;如队列和消息总线&#xff09;的复杂性关注业务逻辑&#xff0c;而不是如何与系…

python win7 sp1_[ Python - 15 ] win7安装paramiko问题总汇

安装环境&#xff1a;win7 sp1 python3.5 安装paramiko新装的win7 sp1 x64位系统&#xff0c;安装好python3.5和pycharm后&#xff0c;需要用到paramiko模块于是开始安装&#xff1a;>>pip install paramiko报错&#xff1a;warning: GMP or MPIR library not found; Not…

Android之百度地图定位最详细使用总结

Android之百度定位 如果项目里面有定位功能的话,一般还是觉得蛮高大上的,我们项目用的百度定位,到网上找了很多资料,很多都不全面,很多博客都没有小伙伴期望得到当前的省和城市出来,然后自己动手也有很多错误,不知道错在哪里,也在网上找为什么…

CountDownLatch应用实战

2019独角兽企业重金招聘Python工程师标准>>> 1. CountDownLatch简介 一个同步辅助类&#xff0c;在完成一组正在其他线程中执行的操作之前&#xff0c;它允许一个或多个线程一直等待。其本质就是一个共享锁。 他最主要的作用是用来同步java的线程。 主要有以下三个方…

用JoyToKey使游戏手柄变键盘或鼠标

用JoyToKey使游戏手柄变键盘或鼠标 除了用手柄来玩游戏外&#xff0c;你有没有想过利用手柄做点别的什么事情呢&#xff1f;其实&#xff0c;只要结合一个非常小巧的游戏控制器增强软件JoyToKey&#xff0c;我们就能最大限度地挖掘手柄的潜力&#xff0c;用它来完成在以前看来“…

40张令人震惊的对比图,第一张细思恐极

全世界只有3.14 % 的人关注了爆炸吧知识世界之大&#xff0c;无奇不有。来看Reddit网友们分享的一组对比图&#xff0c;涨涨姿势&#xff01;医生对戴口罩和不戴口罩的培养皿分别&#xff1a;打喷嚏&#xff0c;唱歌&#xff0c;说话和咳嗽之后的区别&#xff08;难怪有些国家疫…

mysql查找最高分最低分_sql查询最高分、最低分和平均分语句

sql 查询最高分、最低分和平均分语句//我们要用就以学生成绩为实例吧/*结构学生表Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别--2.课程表Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号*/查询各科成绩最高分、最…

Smark.Data 1.5更新详解

由于一直忙于Beetle的开发和优化&#xff0c;Smark.Data组件已经有很长一段时间更新。这段时间发现Smark.Data在某些情况下不足&#xff0c;而这些情况又比较普遍所以进行了1.5版的更新。其更新的主要功能包括:查询可填充到自定义对象中&#xff0c;可直接执行存储过程和执行存…

Sql 存储过程加游标结合的使用

创建一个存储过程使用游标 如果该职工入职时间超过3年 并且学历 在本科以上 则对该职工工资加10%如果 学历没达到本科的 入职时间在10年以上 同样对该职工工资追加8% 其他的一律不加 CREATE proc jiagongzi as declare name nvarchar(20) declare xueli nvarchar(20) declare…

C# 数据适配器之 DataAdapter 对象

01 DataAdapter 对象概述DataAdapter 对象是一个数据适配器对象&#xff0c;是DataSet 与数据源之间的桥梁。DataAdapter 对像提供了 4 个属性&#xff0c;用于实现与数据源之间的互通。SelectCommand 属性&#xff1a;向数据库发送查询 SQL 语句。 DeleteCommand 属性&#x…

express 4 简单实现自动注册路由功能

为什么80%的码农都做不了架构师&#xff1f;>>> ##实现 在express&#xff0c;模块的lib/router/index.js 的 proto.route 方法定义附件添加代码&#xff0c;实现自动注册路由方法&#xff1a; var fs require("fs"); var Path require("path&quo…

速战速决?你不会是不行吧......

1 真服了&#xff01;&#xff01;▼2 同猫不同命......▼3 无锡&#xff1a;&#xff1f;&#xff1f;▼4 还是黄金好&#xff1f;▼5 你会不会是不行&#xff1f;&#xff1f;▼6 爸爸&#xff1a;那也太惊喜了...▼7 倒是毫无违和感&#xff1f;▼8 皇上您说的对&…

mysql普通标转分区表_MySQL分区表到普通表互转

由于最近总有人抱怨&#xff0c;数据迁移后执行SQL变慢&#xff0c;经过查看原来是分区导致的问题。原分区根据按月设置RANGE分区&#xff0c;看到这图的时候也许有人就会发现问题.......业务查询SQL&#xff1a;从SQL上看 执行计划确实是走了分区&#xff0c;但为什么没有命中…