当前位置: 首页 > 编程日记 > 正文

用Asp.net 传送大文件

Chris Hynes

我们在上传大文件时都遇到过这样或那样的问题。设置很大的maxRequestLength值并不能完全解决问题,因为ASP.NET会block直到把整个文件载入内存后,再加以处理。实际上,如果文件很大的话,我们经常会见到Internet Explorer显示 "The page cannot be displayed - Cannot find server or DNS Error",好像是怎么也catch不了这个错误。为什么?因为这是个client side错误,server side端的Application_Error是处理不到的,可以参考这个帖子研究一下产生这个错误的机理。

handling server error when upload file too large

解决的方法是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody 和 ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据

  IServiceProvider provider = (IServiceProvider) HttpContext.Current;
  HttpWorkerRequest wr = (HttpWorkerRequest) provider.GetService(typeof(HttpWorkerRequest));
  byte[] bs = wr.GetPreloadedEntityBody();
  ....
  if (!wr.IsEntireEntityBodyIsPreloaded())
  {
        int n = 1024;
        byte[] bs2 = new byte[n];
        while (wr.ReadEntityBody(bs2,n) >0)
       {
             .....
        }
  }

Chris Hynes为我们提供了这样的一个方案(用HttpModule),该方案除了允许你上传大文件外,还能实时显示上传进度:

ASP.NET Upload Magic Part 2

这里有他讲座的PPT文件:

Uploading with ASP.NET (part 1)

Uploading with ASP.NET (part 2)

相关文章:

[转]Java Os Properties

2019独角兽企业重金招聘Python工程师标准>>> // File: io/properties/SysPropList.java // Description: Shows system properties. This must be an application. // An applet cant get this information. // Author: Fred Swartz // Date: 2 Feb…

思谋科技A轮融资超1亿美元 ,成为最年轻“准独角兽”AI企业

新一代视觉AI前沿技术公司——思谋科技今天宣布,已完成A轮融资。据知情人士透露,思谋科技此次融资金额超1亿美元,成为业内最年轻的“准独角兽”AI企业,本新投资方包括松禾资本、红杉资本中国基金、基石资本、闻天下投资等。今年6月…

C语言 · 征税程序

算法提高 征税程序 时间限制:1.0s 内存限制:512.0MB问题描述税务局希望你帮他们编写一个征税程序,该程序的功能是:首先输入某公司的年销售额sale和税率rate,然后程序将计算出相应的税额tax,并把它显示在…

在ASP.NET中随意创建图形信息

如果没有一个外部组件的支持,在ASP中是不能动态创建图形的,不管它是一个图表,一个横幅或仅仅是一个图形计数器。可喜的是,这一点在ASP.NET中改变了。现在,我们只需要使用内置功能,就能够很容易动态创建图形…

做动态图表没有数据?用Python就能获取

来源 | 法纳斯特(ID:walker398)刷爆全网的动态条形图,原来 5 行 Python 代码就能实现!这是小F在国庆之前写的一篇文章,既然有了Python这个制作动态条形图工具,缺的那便是数据了。先看一下B站2019年「数据可…

CCTouchDispatcher sharedDispatcher 方法过期

//[[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES]; [[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:selfpriority:0swallowsTouches:YES];转载于:https://www.cnblogs.com/sell/archive/2013/01/14/2…

哪些听起来像段子一样的故事?

杭州海底世界,一个小走廊两边都是各种爬行动物展览。有两只蜥蜴当时是这个样子人还年轻,还比较猥琐,看到一个趴在另一个身上就觉得在做什么羞羞的事。于是就拍下来,发到群里,然后说了句交配中。然后一天就光拍照&#…

立足高校矢志创新,鲲鹏计算生态长沙在行动

在今年,虽然全球经济发展受到疫情和国际形势变化影响增速减缓,但我国在AI、云计算、大数据、5G等前沿技术方面的发展却依然没有停下脚步。发展前沿技术,计算产业是基础。因此,培养计算产业人才成为当前全社会共同面对的一大关键。…

用好ASP.NET 2.0的URL映射

简介:   URL映射是ASP.NET 2.0中提供的新特性。URL映射技术帮助我们将一个特定URL映射为另一个URL。为了帮助理解,我们假设你在站点有一个叫Homepage.aspx的页面来访问主页,所有的用户也都用这个页面来访问你的主页。但由于某些原因&#x…

N皇后问题的位运算求解——目前最快的方法

核心代码如下: 1 void test(int row, int ld, int rd) 2 { 3 int pos, p; 4 if ( row ! upperlim ) 5 { 6 pos upperlim & (~(row | ld | rd )); 7 while ( pos ) 8 { 9 p pos & (~pos 1); 1…

cocos2d-x JS 获取当前系统时间(解决屏幕双击点击事件)

记录一下,好开心,感觉今天自己又学到东西了,对于屏幕双击事件本来还毫无头绪的,今天得以解决总算没白费加班,其实原理很简单;就是在点击事件里做一个判断,这个判断就是需要获取当前系统的时间的…

怎么样给下拉框加载背景色

选择自 PPLUNCLE 的 Blog 部分代码:------aspx页面&#xff1a; <tr> <td><select id“job“ name“job“ runat“server“></td></tr>说明&#xff1a;下拉框必须写成上面的形式&#xff0c;用<asp:dropdownlist....>不能实现------cs页…

Windows 7 部署(一):安装和部署简述

术语表&#xff1a; 英文缩写英文全称中文全称备注 MDT Microsoft Deployment Toolkit 微软部署工具包 免费&#xff0c;需要域环境及DHCP服务器(Port 66 and 67)&#xff0c;需要首先安装WAIK。使用MDT部署Windows 7时&#xff0c;也需要WDS&#xff0c;WDS主要负责推送WinP…

希捷发布CORTX对象存储软件与开源社区,普惠超大规模数据存储

数据存储和管理解决方案提供商希捷科技今日&#xff08;10月29日&#xff09;举行了“Let’s Rethink Data”希捷科技Datasphere线上峰会。在本次峰会&#xff0c;希捷科技携手行业专家与生态合作伙伴洞见数据产业趋势&#xff0c;并发布了对象存储软件CORTXTM以及CORTXTM开源社…

最优化:拉格朗日乘子法

作者&#xff1a;桂。 时间&#xff1a;2017-03-27 20:26:17 链接&#xff1a;http://www.cnblogs.com/xingshansi/p/6628785.html 声明&#xff1a;欢迎被转载&#xff0c;不过记得注明出处哦~ 【读书笔记06】 前言 看到西蒙.赫金的《自适应滤波器原理》第四版第四章&#xf…

在Asp.Net中从sqlserver检索(retrieve)图片

介绍&#xff1a;这篇文章是我写的"如何把图片存入sqlServer中"的后续。我建议你在读这篇文章之前先看看那篇。和存储图片相比&#xff0c;读取图片就要简单多了。输出一副图片我们要做的就是使用Response对象的BinaryWrite方法。同时设置图片的格式。在这篇文章中&a…

华为鲲鹏产业生态加速算力升级,企业数字化转型在山西吹响号角

2020年&#xff0c;新基建风口已至&#xff0c;建设数字基础设施&#xff0c;打造数字产业生态是其关键与核心&#xff0c;而算力底座将成为其重要的运行支撑。数字化浪潮大背景下&#xff0c;鲲鹏计算产业生态&#xff0c;充满巨大的想象与发展空间。从企业数字化转型角度来看…

隐藏TabBar

在项目中经常遇到隐藏tabBar,实力很多种方法&#xff0c;可以解决不同情况下问题1&#xff1a;//隐藏tabBar WebViewController *webVc [[WebViewController alloc] init]; webVc.hidesBottomBarWhenPushed YES; [self.navigationController pushViewController:web…

Linux下安装JDK和Eclipse

安装Eclipse时前需要确保系统中已经具备Java运行环境&#xff0c;本文以干净系统初次安装Eclipse为例&#xff0c;同时安装JDK和Eclipse. 1.下载JDK压缩包&#xff1a; http://www.oracle.com/technetwork/java/javase/downloads/index.html  假设保存位置为&#xff1a;/hom…

如何在ASP.Net 中把图片存入数据库

介绍 可能有很多的时候&#xff0c;我们急需把图片存入到数据库当中。在一些应用程序中&#xff0c;我们可能有一些敏感的资料&#xff0c;由于存储在文件系统&#xff08;file system&#xff09;中的东西&#xff0c;将很容易被某些用户盗取&#xff0c;所以这些数据不能存…

人类偏好的“可塑性”,从博弈说起

作者 | 斯图尔特罗素来源 | 《AI新生》出品 | AI科技大本营经济学家通过为人类受试者提供选择来套取他们的偏好。该技术广泛应用于产品设计、营销和交互式电子商务系统中。例如&#xff0c;汽车设计师向受测试者提供具有不同油漆颜色、座位安排、后备厢大小、电池容量、杯架等选…

基于python的一个运维自动化的项目(进度更新)【已开源】

文章已经转到 http://xiaorui.cc 个人博客里&#xff0c;欢迎浏览 !!!交流Python & Golang 可以加群 278517979 .

关于Android方法数量限制的问题

限制Android方法数量的原因是&#xff1a; Android应用以DEX文件的形式存储字节码文件&#xff0c;在Dalvik字节码规范里&#xff0c;方法引用索引method referenceindex只有16位,即65536个。 Op & Format Mnemonic / Syntax Arguments 6e..72 35c invoke-kind {vC, vD…

asp.net中显示DataGrid控件列序号的几种方法

在aps.net中多数据绑定的控件很多&#xff0c;论功能来说&#xff0c;应该属DataGrid最为齐全&#xff0c;但它没有提供现成的显示记录序号的功能&#xff0c;不过我们可以通过它所带的一些参数来间接得到序号&#xff0c;下面来看看怎样得到和显示序号值计算方式如下&#xff…

一口气看完45个寄存器,CPU核心技术大揭秘

作者 | 轩辕之风O来源 | 编程技术宇宙头图 | CSDN下载自视觉中国自1946年冯诺伊曼领导下诞生的世界上第一台通用电子计算机ENIAC至今&#xff0c;计算机技术已经发展了七十多载。从当初专用于数学计算的庞然大物&#xff0c;到后来大型机服务器时代&#xff0c;从个人微机技术蓬…

用友公司Java面试题(含答案)

为什么80%的码农都做不了架构师&#xff1f;>>> 用友公司Java面试题&#xff08;含答案&#xff09; 1.Hashtable和HashMap有什么区别&#xff1f; a.Hashtable是继承自陈旧的Dictionary类的&#xff0c;HashMap继承自AbstractMap类同时是Java 1.2引进的Map接口…

使用memcache做web缓存

为什么80%的码农都做不了架构师&#xff1f;>>> 下载: memcached server [密码: vTI8, 安装启动和调用, 内部有说明] 下载: python-memcached 1.57 现在准备用web.py写个网站, 缓存这块一直没想好用哪个, 今天终于想好了, 直接用memcache # coding: utf-8import me…

Asp.net中DataGrid控件的自定义分页

使用实现起来虽然比较方便&#xff0c;但是效率不高&#xff0c;每次都需要读取所有页&#xff08;整个记录集&#xff09;&#xff0c;而加载的只是其中一页&#xff0c;造成了资源的浪费&#xff0c;记录多又会使效率变得很低。下面通过DataGrid的自定义分页功能来减少资源使…

实战:在Windows Server2008上配置NLB

1.1 在Windows Server2008上配置NLB 试验环境&#xff1a; DCServer是ESS.COM域的域控制器。 Fileserver和Research属于ESS.COM域&#xff0c;安装有Windows Server 2008企业版。 Sales计算机是ESS.COM域的成员&#xff0c;安装Vista企业版。 试验要求&#xff1a; 实现FileSer…

无人驾驶矿山赛道单笔最大融资:踏歌智行完成2亿元B轮融资

10月30日&#xff0c;矿山无人驾驶运输企业踏歌智行完成了2亿元的B轮融资&#xff0c;本轮融资由前海母基金和宝通投资共同领投&#xff0c;清研资本、蓝焱资本等跟投。踏歌智行继2019年连续完成三轮融资后&#xff0c;再创行业新高。据了解&#xff0c;踏歌智行2019年签订了超…