asp.net 文件上传的原理、详细过程,分不够还可再加

问题描述

最近分配我一个文件上传、进度条显示的任务,我做好几天了,可是进度条一点眉目都没有呀,头疼呀。有明白文件上传的详细情况的?客户端、IIS、服务器硬盘等信息。请详细说明什么时候服务器知道文件名、大小的,什么时候开始保存文件的,等等请详细说明。我保存文件不是使用FileUpLoad.saveAs()方法。我是用的是字节数组,然后使用流保存。进度条问题:使用什么方法可以基本实现在文件开始上传时进度条开始、文件上传结束进度条结束,有源码最好,谢谢!我的文件上传模块出现问题:在上传过程中未出任何异常、错误等信息,但是在上传结束后,上传保存的文件大小不对,比以前小了。请问这是怎么回事?有没有什么好地解决方法?叙述的全面分不是问题!请大家畅所欲言。

解决方案

解决方案二:
进度条可以试试updateprograss控件
解决方案三:
关注
解决方案四:
先顶
解决方案五:
我也顶一下
解决方案六:
关注
解决方案七:
updateprograss与本有的上传有冲突,好像用的方法不一样哦.
解决方案八:
进度条问题,基本上我很想学,最近高手很少,是不是都去研究VS2008了,可是总要留两个来看看吧
解决方案九:
附件上传大概代码staticpublicArrayListhif=newArrayList();publicintfilesUploaded=0;protectedvoidPage_Load(objectsender,EventArgse){}///<summary>///增加附件///</summary>///<paramname="sender"></param>///<paramname="e"></param>protectedvoidAddFile(objectsender,EventArgse){if(Page.IsPostBack==true){try{hif.Add(FindFile);lbFile.Items.Add(FindFile.PostedFile.FileName);}catch(System.Exceptionex){lblErr.Text=ex.Message;}}}///<summary>///附件删除///</summary>///<paramname="sender"></param>///<paramname="e"></param>protectedvoidRemvFile_Click(objectsender,EventArgse){if(lbFile.SelectedIndex==-1){lblErr.Text="错误!请选择要删除的文件!";}elseif(lbFile.Items.Count!=0){hif.RemoveAt(lbFile.SelectedIndex);lbFile.Items.Remove(lbFile.SelectedItem.Text);lblErr.Text="";}}protectedvoidSentMail(objectsender,EventArgse){if(hif.Count>0){foreach(System.Web.UI.HtmlControls.HtmlInputFileHIFinhif){fn=System.IO.Path.GetFileName(HIF.PostedFile.FileName);HIF.PostedFile.SaveAs(baseLocation+fn);mail.Attachments.Add(newAttachment(baseLocation+fn));Filfn+=baseLocation+fn+",";}}}大概就是这样的!你自己在看下!
解决方案十:
进度条大概没办法搞到精确吧.我有个想法不知可不可行:上传之前用ajax试着向服务器发送些数据,测试下上传的大概速度,然后还是ajax取得文件大小,计算出上传所需大概时间......呵呵.一个想法而已了.没实现过
解决方案十一:
SaveAs
解决方案十二:
进度条的话,有很多文章都讲述过。这不是可以在WebForm模型下完成的,这需要利用更底层的HttpWorkerRequest,通过它的事件来读取字节流。
解决方案十三:
这个完整的实现,是很麻烦的。首先客户端,需要浏览器提供一个读取文件,和上传文件进度反馈接口。而在IE中。FSO和ADOSTREAM。对象一些打了补丁的安全模式下,是被禁止访问的。IE本身的POST又没有提供进度反馈的事件。所以客户端那里动态显示进度和速度,都不是非常好。如果,一边上传,一边去服务端询问,我那个文件传了多少了。这样需要频繁访问多次。效果不好,而且有延迟。不准确。xmlhttp,可以上传数据,但无法获取上传进度。除非你主动控制,每秒发送多少字节。那与要求不太符合。

时间: 2016-10-11

asp.net 文件上传的原理、详细过程,分不够还可再加的相关文章

ASP实现文件上传的方法_应用技巧

一.基于ASP的文件上传实现原理分析 基本原理是:采用ADO Stream对象的BinaryRead方法将FORM中的所有数据读出,从中截取出所需的文件数据,以二进制文件方式存盘. 下面是上传文件页面的一个例子(upload.htm): <html> <body> <form name="Upload" Method="Post" Enctype="multipart/form-data" Action="

ASP实现文件上传的方法

一.基于ASP的文件上传实现原理分析 基本原理是:采用ADO Stream对象的BinaryRead方法将FORM中的所有数据读出,从中截取出所需的文件数据,以二进制文件方式存盘. 下面是上传文件页面的一个例子(upload.htm): <html> <body> <form name="Upload" Method="Post" Enctype="multipart/form-data" Action="

Asp.net文件上传操作

asp.net|上传 在ASP里要上传一个文件是很麻烦的事,需要稻香老农之类的组件的支持.在ASP.Net事情就变得简单了许多.如下面上传图片的例子.首先申明使用命名空间.using System.IO;在设计页面拖进一个input(File)控件,并把它作为服务器控件运行.其ID为myFile:然后拖进一个button,给button的单击时间添加如下代码: protected void submit_Click(object sender, EventArgs e)    {        

asp.net文件上传示例

 ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法,需要的朋友可以参考下 方法一:用Web控件FileUpload,上传到网站根目录.   Test.aspx关键代码:    代码如下: <form id="form1" runat="server"> <asp:FileUpload ID="FileUpload1" runat="server"

asp.net 文件上传实例汇总

 文件上传在asp.net中有很多方法,这里我很给各位介绍最简单最方便的.net文件上传实例,希望给各位.net入门者带来帮助 ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法.   方法一:用Web控件FileUpload,上传到网站根目录.   Test.aspx关键代码:    代码如下:      <form id="form1" runat="server">      <

asp.net文件上传示例分享_实用技巧

方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关键代码: 复制代码 代码如下: <form id="form1" runat="server"><asp:FileUpload ID="FileUpload1" runat="server" /><asp:Button ID="Button1" runat="server" T

asp.net 文件上传实例汇总_实用技巧

ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关键代码: 复制代码 代码如下:      <form id="form1" runat="server">     <asp:FileUpload ID="FileUpload1" runat="server"

asp.net 文件上传示例整理

ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录.  代码如下 复制代码 Test.aspx关键代码:        <form id="form1" runat="server">      <asp:FileUpload ID="FileUpload1" runat="server&quo

你以为的ASP.NET文件上传大小限制是你以为的吗

原文:你以为的ASP.NET文件上传大小限制是你以为的吗 我们以为的文件大小限制 我们大家都知道ASP.NET为我们提供了文件上传服务器控件FileUpload,默认情况下可上传的最大文件为4M,如果要改变可上传文件大小限制,那么我们可以在web.config中的httpRuntime元素中添加maxRequestLength属性设置大小,同时为了支持大文件上传超时可以添加executionTimeout属性设置超时时间.网上有很多这样的例子,但实际情况是否是这样吗? <httpRuntime