最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > asp教程

ASP和C#隐藏文件下载路径的方法

日期:11-24    来源:中国设计秀    作者:cnwebshow.com

关于下载路径的隐藏都是通过传递一个数据库中的ID,然后在另外一张页面通过传递的ID在数据库中读出路径。w6g中国设计秀
1、c#中实现的方法(只需要.aspX.CS的代码就可以了)w6g中国设计秀
string sel_sql="select FileVisualPath from TabMailAttachFiles where FileID="+Request.QueryString["destFileName"].ToString();w6g中国设计秀

//   string destFileName = Request.QueryString["destFileName"]!=null?Request.QueryString["destFileName"]:"";w6g中国设计秀
   string destFileName=ROA.Components.fune_commerce.Execad(sel_sql).Tables[0].Rows[0][0].ToString();w6g中国设计秀
   destFileName = Server.MapPath(".")+destFileName;w6g中国设计秀
   destFileName = Server.UrlDecode(destFileName);w6g中国设计秀
   if(File.Exists(destFileName))w6g中国设计秀
   {w6g中国设计秀
    FileInfo fi = new FileInfo(destFileName);w6g中国设计秀
    Response.Clear();w6g中国设计秀
    Response.ClearHeaders();w6g中国设计秀
    Response.Buffer = false;w6g中国设计秀
    w6g中国设计秀
    //Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.Default));w6g中国设计秀
    Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.UTF8));w6g中国设计秀
    Response.AppendHeader("Content-Length",fi.Length.ToString());w6g中国设计秀
    Response.ContentType="application/octet-stream";w6g中国设计秀
    Response.WriteFile(destFileName);w6g中国设计秀
    Response.Flush();w6g中国设计秀
    Response.End();w6g中国设计秀
   }w6g中国设计秀
   elsew6g中国设计秀
   {w6g中国设计秀
    Response.Write("<script langauge=javascript>alert('文件不存在!');history.go(-1);</script>");w6g中国设计秀
    Response.End();w6g中国设计秀
   }w6g中国设计秀
2、在ASP中的实现方法w6g中国设计秀
<!--#include file="conn.asp" -->w6g中国设计秀
<% w6g中国设计秀
Response.Buffer = true w6g中国设计秀
Response.Clear w6g中国设计秀
dim url w6g中国设计秀
Dim fso,fl,flsize w6g中国设计秀
dim Dname w6g中国设计秀
Dim objStream,ContentType,flName,isre,url1 w6g中国设计秀
'*********************************************调用时传入的下载文件名 w6g中国设计秀
m_ID=trim(request.QueryString("ID")) w6g中国设计秀
set rs=Server.CreateObject("adodb.recordset")w6g中国设计秀
sql="select * from dataview where xsf=true and id="&m_IDw6g中国设计秀
rs.open sql,conn,1,1w6g中国设计秀
if not rs.eof thenw6g中国设计秀
    Dname=rs("path")w6g中国设计秀
elsew6g中国设计秀
    Response.Write("no found")w6g中国设计秀
    Response.endw6g中国设计秀
end ifw6g中国设计秀
rs.close:set rs=nothingw6g中国设计秀
'****************************************************************** w6g中国设计秀
If Dname<>"" Then w6g中国设计秀
'******************************下载文件存放的服务端目录 w6g中国设计秀
url=Server.MapPath(Dname)w6g中国设计秀
elsew6g中国设计秀
    Response.Write("no found")w6g中国设计秀
    Response.end  w6g中国设计秀
End If w6g中国设计秀
Set fso=Server.CreateObject("Scripting.FileSystemObject") w6g中国设计秀
Set fl=fso.getfile(url) w6g中国设计秀
flsize=fl.size w6g中国设计秀
flName=fl.name w6g中国设计秀
Set fl=Nothing w6g中国设计秀
Set fso=Nothing w6g中国设计秀
Set objStream = Server.CreateObject("ADODB.Stream") w6g中国设计秀
objStream.Open w6g中国设计秀
objStream.Type = 1 w6g中国设计秀
objStream.LoadFromFile url w6g中国设计秀
Select Case lcase(Right(flName, 4)) w6g中国设计秀
Case ".asf" w6g中国设计秀
ContentType = "video/x-ms-asf" w6g中国设计秀
Case ".avi" w6g中国设计秀
ContentType = "video/avi" w6g中国设计秀
Case ".doc" w6g中国设计秀
ContentType = "application/msword" w6g中国设计秀
Case ".zip" w6g中国设计秀
ContentType = "application/zip" w6g中国设计秀
Case ".xls" w6g中国设计秀
ContentType = "application/vnd.ms-excel" w6g中国设计秀
Case ".gif" w6g中国设计秀
ContentType = "image/gif" w6g中国设计秀
Case ".jpg", "jpeg" w6g中国设计秀
ContentType = "image/jpeg" w6g中国设计秀
Case ".bmp"w6g中国设计秀
ContentType = "image/bmp"w6g中国设计秀
Case ".ppt"w6g中国设计秀
ContentType = "application/vnd.ms-Powerpoint"w6g中国设计秀
Case ".mdb"w6g中国设计秀
ContentType = "application/x-msaccess"w6g中国设计秀
Case ".wav" w6g中国设计秀
ContentType = "audio/wav" w6g中国设计秀
Case ".mp3" w6g中国设计秀
ContentType = "audio/mpeg3" w6g中国设计秀
Case ".mpg", "mpeg" w6g中国设计秀
ContentType = "video/mpeg" w6g中国设计秀
Case ".rtf" w6g中国设计秀
ContentType = "application/rtf" w6g中国设计秀
Case ".htm", "html" w6g中国设计秀
ContentType = "text/html" w6g中国设计秀
Case ".txt" w6g中国设计秀
ContentType = "text/plain" w6g中国设计秀
Case Else w6g中国设计秀
ContentType = "application/octet-stream" w6g中国设计秀
End Select w6g中国设计秀
Response.AddHeader "Content-Disposition", "attachment; filename=" & flName w6g中国设计秀
Response.AddHeader "Content-Length", flsize w6g中国设计秀
Response.Charset = "UTF-8" w6g中国设计秀
Response.ContentType = ContentType w6g中国设计秀
Response.BinaryWrite objStream.Read w6g中国设计秀
Response.Flush w6g中国设计秀
response.Clear() w6g中国设计秀
objStream.Close w6g中国设计秀
Set objStream = Nothing w6g中国设计秀
%>w6g中国设计秀

本文引用地址:/bc/article_46472.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明