首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 做了个图书网站-----想实现提供下载功能。????怎么办呢
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaoxiaoxiao8
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2007-09-10 20:45:05 楼主
    做了个图书网站-----想实现提供下载功能。好让别人下载来看
    /ViewBookComment.aspx?BookID=2
    /ViewBookComment.aspx?BookID=3
    /ViewBookComment.aspx?BookID=4
    /ViewBookComment.aspx?BookID=5
    有一个button按钮。别人点击这就可以下载了
    但我不知道怎么才能实现BookID变换button的连接也相应的改变。连接地址我准备放在列名为http的表中。表名为book。BookID也是book表中的一列。
    希望高手给出个办法
    30  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • juedaihuaihuai
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-10 20:49:011楼 得分:0
    数据库里bookid和书的存放地址应该是一一对应的,根据id把url指向书的相对路径名就ok了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaoxiaoxiao8
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-10 20:56:022楼 得分:0
    我也知道根据ID的不同。给button赋不同的连接地址。但具体怎么个做法我了解啊。还请高手讲解详细些。我一菜鸟
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JGood
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-10 20:56:403楼 得分:0
    两种方法,
    一种楼上的已经说了,不过这样会暴露路径

    第二种:
    根据相应的参数,从数据库里读出图书的信息,计算出路径,然后得用一个下载函数实现下载。这样资源的路径不会暴露。

    public   void   FileDownload(string   FullFileName)
    {
           System.Web.HttpContext   context   =   System.Web.HttpContext.Current;
    FileInfo   DownloadFile   =   new   FileInfo(FullFileName);
    context.Response.Clear();
    context.Response.ClearHeaders();
    context.Response.Buffer   =   false;
    context.Response.ContentType   =   "application/octet-stream ";
    //Response.ContentType   =   "application/ms-excel ";
    context.Response.AppendHeader( "Content-Disposition ",   "attachment;filename= "   +   HttpUtility.UrlEncode(DownloadFile.FullName,   System.Text.Encoding.UTF8));
    context.Response.AppendHeader( "Content-Length ",   DownloadFile.Length.ToString());
    context.Response.WriteFile(DownloadFile.FullName);

    context.Response.Flush();
    context.Response.End();
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JustLovePro
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-10 20:59:044楼 得分:0
    makr~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JGood
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 00:21:095楼 得分:0
    第一种方法:
    把图书文件放在网站根目录下的一个文件夹,打比方说保存在Download文件夹下,然后在数据库中添加图书文件的路径的记录,比方说在Download中保存一个abc.chm的电子书,那么在数据库添加这么一条记录:(这些数据我是乱造的)
    bookId         path
    1                     /lownload/abc.chm    
    然后在页面/ViewBookComment.aspx?BookID=1中,获取参数BookId=1,根据这个参数读数据库,读出这个文件的具体地址为/download/abc.chm,那么重定向到这个文件,就可以了

    第二种方法:
    保存的方法与第一种相同,只不过下载的时候不是重定向这个图书文件,而是调用一个下载函数,先把资源读到内在里,然后以数据流的形式发送给用户
    比方在按钮事件里:
    protocted   void   Button_Click(object   sender,   EventArgs   e)
    {
          //读出文件的路径
          string   filePath   =   GetPath();    

          FileDownload(filePath);     //发送给用户
    }

    说的够详细了吧!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • best8625
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 00:30:436楼 得分:0
    帮顶吧
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • vvsamln
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 00:49:087楼 得分:0
    .受益
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • honey52570
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 09:13:208楼 得分:0
    第二种方法
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaoxiaoxiao8
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 09:27:509楼 得分:0
    扯淡。。。getpath   不定义么。那他去那里找值。你写的这些是给会的人看的。不是给不会的人看的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • JGood
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 10:12:2310楼 得分:0
    路是要自己走的,别人不可能永远扶着您,点着灯,引着您,陪着您走到终点。而后再听您的一声“扯淡”
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ahone
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 10:20:4011楼 得分:0
    这种人
    离远点
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xiaoxiaoxiao8
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 11:33:2912楼 得分:0
    抱歉。。。实在太气氛了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • luomingchao
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 11:48:5613楼 得分:0
    JGood()   说的已是很详细了。lz:抱歉。。。实在太气氛了

    lz人品差
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chuzhaowei
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2007-09-11 11:57:3614楼 得分:0

        呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yuantaolzu
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-15 13:11:2015楼 得分:0
    mark
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • diandian82
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-15 13:43:4516楼 得分:0
    BS
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved