Asp.Net 文件下载1——流下载(适用于大文件且防盗链)(转)
使用流防盗链下载大文件
直接上 Asp.net 后置代码好了
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO; public partial class FileDownload_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } //以流方式下载文件,适合大文件
protected void btn_down_Click(object sender, EventArgs e)
{
try
{
//设置文件名
Response.AddHeader("Content-Disposition", "attachment; filename=test.jpg");
Response.ContentType = "application/octet-stream"; //设置下载文件的服务器路径
String filePath = "~/FileDownload/test.jpg"; //输出到流
FileStream stream = new FileStream(Server.MapPath(filePath), FileMode.Open, FileAccess.Read, FileShare.Read);
BinaryReader reader = new BinaryReader (stream); Response.Clear();
while (true)
{
byte [] bt = reader.ReadBytes();
Response.OutputStream.Write(bt,,);
if(bt.Length<)
break;
}
reader.Close();
stream.Dispose();
Response.End();
}
catch(Exception ex)
{
this.ClientScript.RegisterStartupScript(this.GetType(),"new","<mce:script type="text/javascript"><!--
alert('下载文件异常 : "+ex.Message+"');
// --></mce:script>");
}
}
}
Asp.Net 文件下载1——流下载(适用于大文件且防盗链)(转)的更多相关文章
- nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下)
nginx 的第三方模块ngx_http_accesskey_module 来实现下载文件的防盗链步骤(linux系统下),安装Nginx和HttpAccessKeyModule模块(参考LNMP环境 ...
- 精讲RestTemplate第6篇-文件上传下载与大文件流式下载
本文是精讲RestTemplate第6篇,前篇的blog访问地址如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 精讲RestTemplate第2篇-多种底层H ...
- 【基础巩固】文件流读写、大文件移动 FileStream StreamWriter File Path Directory/ ,m资料管理器(递归)
C#获取文件名 扩展名 string fullPath = @"d:\test\default.avi"; string filename = Path.GetFileName(f ...
- java下载网络大文件之内存不够的解决办法(包含分片上传分片下载)
一.背景 2020年11月份的时候,我做过一个项目,涉及到网络文件,比如第三方接口提供一个文件的下载地址,使用java去下载,当时我全部加在到JVM内存里面,话说,单单是80M的下载单线程没问题,但是 ...
- Asp.net MVC利用WebUploader上传大文件出现404解决办法。
刚开始我上传小文件都是比较顺利的,但是上传了一个大文件大约有200M的压缩包就不行了.在chrome里面监视发现网络状态是404,我分析可能不是WebUploader的限制,应该是WebConfig限 ...
- Nginx 十大优化 与 防盗链
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Ngin ...
- ASP.NET全局文件与防盗链
添加Web→全局应用程序类,注 文件名不要改 Global.asax 全局文件是对Web应用声明周期的一个事件响应的地方,将Web应用启动时初始化的一些代码写到 Application_Start中, ...
- Java文件流下载并提示文件不存在
做文件下载功能的时候,一般使用流的形式下载文件, 如果源文件不存在,下载页面可能就会没有提示,或者一片空白 用户操作之后可能一头雾水,那如何友好提示呢? 想到的有两种 1.可以尝试下载一个名称为:文件 ...
- [SpringBoot/SpringMVC]从Webapp下载一个大文件出现java.lang.OutOfMemoryError: GC overhead limit exceeded怎么办?
本文示例工程下载:https://files.cnblogs.com/files/xiandedanteng/WebFileDownload20191026.rar 制作一个Webapp,让其中一个网 ...
随机推荐
- 【BZOJ 1003】[ZJOI2006]物流运输(Dijkstra+DP)
题链 http://www.lydsy.com/JudgeOnline/problem.php?id=1003 Description 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n ...
- cadence中画焊盘注意事项
贴片焊盘的层面剖析图如下: 其中Paste Mask Top层用于制作钢网,可以做成与Top层相同的大小.阻焊层一般比顶层大0.1mm(方形焊盘的长,宽,圆形焊盘的直径). 助焊层与阻焊层区别 两个层 ...
- IIS 注册.NET Framework 4.0 命令
cmd执行以下命令 32位Windows:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i 64位Windows:C ...
- BNUOJ 3278 Candies
Candies Time Limit: 1500ms Memory Limit: 131072KB This problem will be judged on PKU. Original ID: 3 ...
- HDU 2442
状态压缩DP , 和HDU2280极其相似 #include <cstdio> #include <cstring> #include <iostream> usi ...
- bzoj4504 k个串 kstring 可持久化线段树 (标记永久化)
[fjwc2015]k个串 kstring [题目描述] 兔子们在玩k个串的游戏.首先,它们拿出了一个长度为n的数字序列,选出其中的一个连续子串,然后统计其子串中所有数字之和(注意这里重复出现的数字只 ...
- easyUI pagination分页控件点击下一页后跳转到最后一页
easyui-pagination点击下一页直接跳转到最后一页的可能原因 今天做到聊天记录展示页面的时候发现一个bug:初次进入页面加载出第一页的数据,点击下一页的时候不是到第二页而是到最后一页. 如 ...
- android中webview的实现
设置从当前页面打开链接,而不是跳转到系统默认浏览器打开: webview.setWebViewClient(new WebViewClient(){ @Override public boolean ...
- HDU.P1100 Trees Made to Order 解题报告
http://www.cnblogs.com/keam37/p/3637717.html keam所有 转载请注明出处 Problem Description We can number binar ...
- 使用Hexo搭建博客
好长时间没在博客园写东西了,自己搭了一套博客,把自己的一些积累分享给大家,欢迎指正! 博客地址:http://www.baiguangnan.com 使用Hexo搭建自己的博客,可以参考这里:http ...