|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
关于下载路径的隐藏都是通过传递一个数据库中的ID,然后在另外一张页面通过传递的ID在数据库中读出路径。 1、c#中实现的方式(只需要.ASPX.CS的代码就可以了) string sel_sql="select FileVisualPath from TabMailAttachFiles where FileID="+Request.QueryString["destFileName"].ToString(); // string destFileName = Request.QueryString["destFileName"]!=null?Request.QueryString["destFileName"]:""; string destFileName=ROA.Components.fune_commerce.Execad(sel_sql).Tables[0].Rows[0][0].ToString(); destFileName = Server.MapPath(".")+destFileName; destFileName = Server.UrlDecode(destFileName); if(File.Exists(destFileName)) { FileInfo fi = new FileInfo(destFileName); Response.Clear(); Response.ClearHeaders(); Response.Buffer = false; //Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.Default)); Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.UTF8)); Response.AppendHeader("Content-Length",fi.Length.ToString()); Response.ContentType="application/octet-stream"; Response.WriteFile(destFileName); Response.Flush(); Response.End(); } else { Response.Write("<script langauge=javascript>alert(\\\'文件不存在!\\\');history.go(-1);</script>"); Response.End(); } 2、在ASP中的实现方式 <!--#include file="conn.asp" --> <% Response.Buffer = true Response.Clear dim url Dim fso,fl,flsize dim Dname Dim objStream,ContentType,flName,isre,url1 \\\'*********************************************调用时传入的下载文件名 m_ID=trim(request.QueryString("ID")) set rs=Server.CreateObject("adodb.recordset") sql="select * from dataview where xsf=true and id="&m_ID rs.open sql,conn,1,1 if not rs.eof then Dname=rs("path") else Response.Write("no found") Response.end end if rs.close:set rs=nothing \\\'****************************************************************** If Dname<>"" Then \\\'******************************下载文件存放的服务端目录 url=Server.MapPath(Dname) else Response.Write("no found") Response.end End If Set fso=Server.CreateObject("Scripting.FileSystemObject") Set fl=fso.getfile(url) flsize=fl.size flName=fl.name Set fl=Nothing Set fso=Nothing Set objStream = Server.CreateObject("ADODB.Stream") objStream.Open objStream.Type = 1 objStream.LoadFromFile url Select Case lcase(Right(flName, 4)) Case ".asf" ContentType = "video/x-ms-asf" Case ".avi" ContentType = "video/avi" Case ".doc" ContentType = "application/msword" Case ".zip" ContentType = "application/zip" Case ".xls" ContentType = "application/vnd.ms-excel" Case ".gif" ContentType = "image/gif" Case ".jpg", "jpeg" ContentType = "image/jpeg" Case ".bmp" ContentType = "image/bmp" Case ".ppt" ContentType = "application/vnd.ms-powerpoint" Case ".mdb" ContentType = "application/x-msaccess" Case ".wav" ContentType = "audio/wav" Case ".mp3" ContentType = "audio/mpeg3" Case ".mpg", "mpeg" ContentType = "video/mpeg" Case ".rtf" ContentType = "application/rtf" Case ".htm", "html" ContentType = "text/html" Case ".txt" ContentType = "text/plain" Case Else ContentType = "application/octet-stream" End Select Response.AddHeader "Content-Disposition", "attachment; filename=" & flName Response.AddHeader "Content-Length", flsize Response.Charset = "UTF-8" Response.ContentType = ContentType Response.BinaryWrite objStream.Read Response.Flush response.Clear() objStream.Close Set objStream = Nothing %> 返回类别: 教程 上一教程: JMAIL4.1用POP3收信的例子 下一教程: ASP OBJECT之:FORM 您可以阅读与"ASP和C#隐藏文件下载路径的方式"相关的教程: · 用Asp隐藏文件路径,实现防盗链 · 用ASP隐藏文件路径,实现防盗链 · 用ASP隐藏文件路径实现防盗链 · 网络寻呼机数据库版隐藏文件WATCH.ASP · 用ASP将数据转为XML文件下载 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |