① asp.net实现文件下载
这是一个网站下载的一段代码:public partial class download : System.Web.UI.Page{ BaseClass BaseClass1 = new BaseClass(); protected void Page_Load(object sender, EventArgs e) { Page.EnableViewState = false; /* 微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite 下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。 代码如下: */ if (!IsPostBack) { //从数据库取得文件名 string sqlStr = "select * from sourceDownLoad where sId=" + Request.QueryString["id"]; DataTable dt = BaseClass1.ReadTable(sqlStr); DataTableReader reader = dt.CreateDataReader(); string sourceName = (string)dt.Rows[0].ItemArray[1]; sourceName.Trim();//消除空格 int index= sourceName.LastIndexOf("."); string extend = sourceName.Substring(index+1);//扩展名 string fullPath = "~/sourceDLoad/" + sourceName; fullPath = Server.MapPath(fullPath); //读出该资源的下载次数 int downloadtimes = 0; if (reader.Read())// { downloadtimes=reader.GetInt32(4); } Page.Response.Clear(); bool success = ResponseFile(Page.Request, Page.Response, sourceName ,fullPath , 1024000); if (!success) Response.Write("下载文件出错!"); else { //记录下载次数 downloadtimes++; sqlStr = "update sourceDownLoad set downloadCounts=" + downloadtimes + " where sId=" + Request.QueryString["id"]; BaseClass1.execsql(sqlStr); } Page.Response.End(); } } public static bool ResponseFile(HttpRequest _Request, HttpResponse _Response, string _fileName, string _fullPath, long _speed) { try { FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); BinaryReader br = new BinaryReader(myFile); try { _Response.AddHeader("Accept-Ranges", "bytes"); _Response.Buffer = false;//不缓冲 long fileLength = myFile.Length; long startBytes = 0; double pack = 10240; //10K bytes int sleep = 200; //每秒5次 即5*10K bytes每秒 int sleep = (int)Math.Floor(1000 * pack / _speed) + 1; if (_Request.Headers["Range"] != null) { _Response.StatusCode = 206; string[] range = _Request.Headers["Range"].Split(new char[] ); startBytes = Convert.ToInt64(range[1]); } _Response.AddHeader("Content-Length", (fileLength – startBytes).ToString()); if (startBytes != 0) { //Response.AddHeader("Content-Range", string.Format(" bytes -/", startBytes, fileLength-1, fileLength)); } _Response.AddHeader("Connection", "Keep-Alive"); _Response.ContentType = "application/octet-stream"; _Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(_fileName, System.Text.Encoding.UTF8)); br.BaseStream.Seek(startBytes, SeekOrigin.Begin); int maxCount = (int)Math.Floor((fileLength – startBytes) / pack) + 1; for (int i = 0; i < maxCount; i++) { if (_Response.IsClientConnected) { _Response.BinaryWrite(br.ReadBytes(int.Parse(pack.ToString()))); Thread.Sleep(sleep); } else { i = maxCount; } } } catch { return false; } finally { br.Close(); myFile.Close(); } } catch { return false; } return true; } //这样就实现了文件下载时,不管是什么格式的文件,都能够弹出打开/保存窗口.}9月
② 如何在asp.net中如何实现文件的下载功能。
protectedvoidBtnDownload_Click(objectsender,EventArgse){SqlConnectionconn=newSqlConnection(ConfigurationManager.ConnectionStrings["sql"].ToString());conn.Open();stringstrSql="selecttop1timagefromtest";SqlCommandcmd=newSqlCommand(strSql,conn);SqlDataReaderdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);if(dr.Read()){byte[]by=(byte[])dr[0];Response.AddHeader("Content-Disposition","attachment;filename=ceshi.txt");//设置读取的文件头Response.AddHeader("Content-Length",by.Length.ToString());Response.ContentType="text/plain";//设置输出类型这里可以保存在数据库中动态实现类型Response.OutputStream.Write(by,0,by.Length);//输出Response.Flush();}conn.Close();}
另外也可以把二进制流还原成文件,然后直接提供路径用超链接下载,或者用Response.WriteFile(文件路径)来实现下载。
③ .net如何实现文件下载功能
你在绑定的时候直接绑定一个超链接.它的href等于该文件的路径就OK了.如:<ahref='文件的路径/<%#DataBinder.Eval(Container.DataItem,"文件的列名")%>'><%#DataBinder.Eval(Container.DataItem,"文件的列名")%></a>———————怎么个意思?实现文件下载?超链接直接链接到该文件.就是下载了.至于提示存放路径.重命名.等操作.是不需要你去写的.
④ asp.net 如何实现将服务器上的文件下载到本地
给你提供一点复代码:制
string fileURL = this.Server.MapPath("你要下载的文件路径");//文件路径,可用相对路径
FileInfo fileInfo = new FileInfo(fileURL);
Response.Clear();
Response.AddHeader("content-disposition", "attachment;filename=" +
Server.UrlEncode(fileInfo.Name.ToString()));//文件名
Response.AddHeader("content-length", fileInfo.Length.ToString());//文件大小
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.Default;
Response.WriteFile(fileURL);
⑤ asp.net如何实现将服务器上的文件下载到本地
给你提供一抄点代码:string fileURL = this.Server.MapPath("你要下载袭的文件路径");//文件路径,可用相对路径FileInfo fileInfo = new FileInfo(fileURL);Response.Clear();Response.AddHeader("content-disposition", "attachment;filename=" + Server.UrlEncode(fileInfo.Name.ToString()));//文件名Response.AddHeader("content-length", fileInfo.Length.ToString());//文件大小Response.ContentType = "application/octet-stream";Response.ContentEncoding = System.Text.Encoding.Default;Response.WriteFile(fileURL);
⑥ VB.NET如何实现文件的下载
给你一个遍历所有盘符下的文件夹的例子加一个遍历文件的就可以了。TreeNode node = new TreeNode("我的电脑"); treeView.Nodes.Add(node); //加入一个我的电脑节点 string[] drivesName = System.IO.Directory.GetLogicalDrives() //取得驱动器列表的集合 foreach(string name in drivesName) //用foreach遍历集合 { TreeNode drivesNode = new TreeNode(name); node.Nodes.Add(drivesNode); //加到我的电脑节点下 }
⑦ 如何在asp.net中实现点击下载按钮进行文件下载
可以直接使用a标签的啊, href跟你文件所在的位置
⑧ .net如何下载文件
.net文件下载方式有好多种,你可以直接用链接定位到文件进行下载。 或者使用分流下载 string fileName = "aaa.txt";//客户端保存的文件名 string filePath = Server.MapPath("DownLoad/aaa.txt");//路径 //以字符流的形式下载文件 FileStream fs = new FileStream(filePath, FileMode.Open); byte[] bytes = new byte[(int)fs.Length]; fs.Read(bytes, 0, bytes.Length); fs.Close(); Response.ContentType = "application/octet-stream"; //通知浏览器下载文件而不是打开 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); Response.BinaryWrite(bytes); Response.Flush(); Response.End(); 也可以使用分块进行下载。方式很多的 追问: 这个就是我想要!!!谢谢你了
⑨ .net 批量大文件上传下载如何实现
想要想上传大文件,必须在web.config文件中进行配置。在<system.web>节点中添加如下代码即可:<httpRuntime maxRequestLength="2097151"/>这个代码就专是表属示设置最大请求值,上传文件也就相当于请求。maxRequestLength单位为KB,最大值为:2097151.如果不设置,默认为4096 KB (4 MB)。也就是说上传的文件最大可以上传2G以内的文件。一般没有配置的话,默认只能上传4M以内的文件。配置了的话就可以上传更大的文件。
⑩ asp.net 怎样实现 软件下载
请问怎样用asp.net编程实现??=========================普通情况下,浏览器会根据URL后缀(如:.html,.aspx,.exe,.rar)或者HTTPHEADER里的MIME(content-type,如text/html,image/jpeg)来判断是否弹出“文件下载”对话框。HTML,PDF,TXT,JPG这些文本,图片的,都可以直接用浏览器来看,所以无需“文件下载”对话框。而EXE,RAR等文件无法直接用浏览器看,所以需要“文件下载”对话框。具体实现,是你给的网页。既然下载功能实现起来这么简单,为什么有的人还要写一些复杂的代码呢?=========================那么你所给的网页中,HTTPHEADER里多了:"Content-Disposition","attachment;filename="+fileName,"Content-Type":"application/octet-stream",这个的用处就是强制让浏览器弹出“文件下载”对话框,无论是HTML,TXT,PDF,都要下载。还有文件名字可以定义。octet-stream是一种MIME,是让浏览器接受大文件已stream形式缓冲下载(其实没什么特别的~)。那个东西是不用做的说实话你这问题太弱智了==========================希望ypf199283能对HTTP协议多一些理解。