ASP.NET上传大文件解决方案
这次在项目中,用到了大文件上传,要上传的文件有100多m,于是研究现在国内使用的大文件上传的
组件发现用的比较多的有两个控件AspnetUpload 2.0和Lion.Web.UpLoadModule,另外还有思归在它的博
客堂中所说的办法 http://blog.joycode.com/saucer/archive/2004/03/16/16225.aspx
两个控件的方法是:利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody 和
ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据。Chris Hynes为我们提供了这样的一个
方案(用HttpModule),该方案除了允许你上传大文件外,还能实时显示上传进度。
Lion.Web.UpLoadModule和AspnetUpload 两个.NET组件都是利用的这个方案。
当上传单文件时,两个软件的方法是一样的,继承HttpModule
复制 保存
HttpApplication application1 = sender as HttpApplication;
HttpWorkerRequest request1
= (HttpWorkerRequest) ((IServiceProvider) HttpContext.Current).GetService
(typeof(HttpWorkerRequest));
try
{
if (application1.Context.Request.ContentType.IndexOf("multipart/form-data") <=
-1)
{
return;
}
//Check The HasEntityBody
if (!request1.HasEntityBody())
{
return;
}
in
相关文档:
在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......
Public DataTable GetDataTablefromExcel(string fileName,string tableName )
{
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0; Persist Security Info=False;Extended Properties=Excel 8.0; data source=文件路径"
string sql = "SELECT * from [" + tableName + "]";
OleDbConnection conn = ne ......
1、首先下载owc11:owc11(http://www.svnhost.cn/Download/Detail-60.shtml)
2、引用OWC:打开"解决方案资源管理器"面板,鼠标右键单击"引用",选择"添加引用"菜单,在弹出的"添加引用"对话框中单击"COM"卡片,找到"Microsoft Office Web Components 10.0(office 2003是11.0)",单击"选择"和"确定"按钮,OWC就被添加到了引 ......
//使用验证方法
if (!InputValidator(txt.Text.Trim()))
{
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "myScript", "alert('\"文本框\"输入了非法字符或输入超长!');", t ......