net网站下载文件|net 下载文件不要在线浏览

A. asp.net 点击一下文件名或者一个下载按钮,将文件下载下来怎么做啊

最简单的方式就是一抄个超链接,如:<a href="/file/abc.rar">下载</a>这样就能下载到你网站根目录下file子目录下的abc.rar文件,如果链接的是一个html或者是其它浏览器能解析的文件,会在浏览器中直接打开,否则就下载。

B. ASP.NET如何下载服务器端的文件比如下载网站根目录下的“1.txt”到桌面上,求详细代码

给你提供一点代码: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);天下数据–专业运容营香港服务器、韩国服务器、美国服务器等等海外优质服务器!

C. 如何在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(文件路径)来实现下载。

D. .net如何实现文件下载功能

你在绑定的时候直接绑定一个超链接.它的href等于该文件的路径就OK了.如:<ahref='文件的路径/<%#DataBinder.Eval(Container.DataItem,"文件的列名")%>'><%#DataBinder.Eval(Container.DataItem,"文件的列名")%></a>———————怎么个意思?实现文件下载?超链接直接链接到该文件.就是下载了.至于提示存放路径.重命名.等操作.是不需要你去写的.

E. 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);

F. .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(); 也可以使用分块进行下载。方式很多的 追问: 这个就是我想要!!!谢谢你了

G. 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月

H. 如何在ASP.NET中下载文件

但是这样的下载有几个问题:1. 无法下载不存在的文件:例如,我们若是想把程序动态(临时)产生的文字,当作一个文件下载的时候(也就是该文件其实原先并不是真的存在,而是动态产生的),就无法下载。2. 无法下载存储于数据库中的文件:这是类似的问题,该文件并没有真的存在,只是被存放在数据库中的某个位置(某笔记录中的某个栏位)的时候,就无法下载。3. 无法下载不存在于Web文件夹中的文件:文件确实存在,但该文件夹并不是可以分享出来的Web文件夹,例如,该文件的位置在C:/winnt,您总不会想要把该文件夹当作Web文件夹吧?这时候,由于您无法使用Redirect指向该位置,所以无法下载。4. 下载文件后,原本的页面将会消失。1. 这个文件可能是通过ASP.NET程序动态产生的,而不是确实存在于Server端的文件;2. 或是它虽然存在于伺服器端的某个实体位置,但我们并不想暴露这个位置(如果这个位置公开,很可能没有权限的用户也可以在网址栏上输入URL直接取得!!!)3. 或是这个位置并不在网站虚拟路径所在的文件夹中。(例如C:/Windows/System32…)这时候,我们就得采用不同的方式:Shared Function DownloadFile(ByVal WebForm As System.Web.UI.Page, ByVal FileNameWhenUserDownload As String, ByVal FileBody As String)WebForm.Response.ClearHeaders()WebForm.Response.Clear()WebForm.Response.Expires = 0WebForm.Response.Buffer = TrueWebForm.Response.AddHeader(Accept-Language, zh-tw)'文件名称WebForm.Response.AddHeader(content-disposition, attachment; filename= & Chr(34) & System.Web.HttpUtility.UrlEncode(FileNameWhenUserDownload, System.Text.Encoding.UTF8) & Chr(34))WebForm.Response.ContentType = Application/octet-stream'文件内容WebForm.Response.Write(FileBody)WebForm.Response.End()End Function上面这段代码是下载一个动态产生的文本文件,若这个文件已经存在于服务器端的实体路径,则可以通过下面的函数:Shared Sub DownloadFile(ByVal WebForm As System.Web.UI.Page, ByVal FileNameWhenUserDownload As String, ByVal FilePath As String)WebForm.Response.ClearHeaders()WebForm.Response.Clear()WebForm.Response.Expires = 0WebForm.Response.Buffer = TrueWebForm.Response.AddHeader(Accept-Language, zh-tw)'文件名称WebForm.Response.AddHeader(content-disposition, attachment; filename= & Chr(34) & System.Web.HttpUtility.UrlEncode(FileNameWhenUserDownload, System.Text.Encoding.UTF8) & Chr(34))

I. .net 下载文件,不要在线浏览

这个你可以参考这个资料,是我以前发现的设置Response,在下载文件时不在浏览器中直接专打开//文件名属string fileName ="";Response.Clear();Response.ClearHeaders();//通知浏览器下载文件而不是打开Response.AddHeader("Content-Transfer-Encoding", "binary");Response.ContentEncoding = Encoding.UTF8;Response.ContentType = "application/octet-stream";if (Request.ServerVariables["http_user_agent"].ToLower().IndexOf("firefox") == -1){//非火狐浏览器 fileName = HttpUtility.UrlEncode(fileName, Encoding.UTF8);}Response.AddHeader("Content-Disposition","attachment; filename=" + fileName);

J. asp.net网站如何实现 下载多个文件 或者下载某个文件夹,像bt那样的下载后文件夹里包含所需的多个文件

1.“不要告诉我 直接把文件夹压缩后 再下载 这个谁都知道”如果我告诉你,把文件夹放到服务器上,然后用代码将文件夹压缩之后给客户下载RAR文件,这个你已经知道了?2.你能不能遍历要下载的文件夹里的文件,然后做成超链接让人家下载呢?


赞 (0)