C_Sharp 板


LINE

各位好 我用的资料库是Microsoft SQL Server 我用类似下面的语法可以把某笔image资料 下载成一个档案 http://goo.gl/2bWGL4 但这样每次只能下载一个档案 请问 有办法一次下载多笔吗? 或者是一次下载多笔档案所压缩而成的zip档 谢谢 --------------------------------------------------- byte[] xfile = null; string docupath = Request.PhysicalApplicationPath; xfile = wc.DownloadData(docupath + "uploads\\qrcode.png"); string xfileName = System.IO.Path.GetFileName (docupath + "uploads\\qrcode.png"); HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + HttpContext.Current.Server.UrlEncode(xfileName)); HttpContext.Current.Response.ContentType = "application/octet-stream"; //二进位方式 HttpContext.Current.Response.BinaryWrite(xfile); //内容转出作档案下载 HttpContext.Current.Response.End(); ---------------------------------------------------------------- 我後来使用DotNetZip来压缩档案 https://dotnetzip.codeplex.com/ 右边是官方提供的一些 C# Examples https://goo.gl/FNjqug 作法大致如下 先宣告一个MemoryStream MemoryStream ms = new MemoryStream(); 再宣告一个ZipFile 透过AddEntry 把从资料库捞出的档案加进去ZipFile 接着用Save把压缩档存到一开始宣告的MemoryStream中 ZipFile zip = new ZipFile()); zip.AddEntry("档名",stream或byte[]); // stream或byte[]就是从资料库捞出的档案 zip.Save(ms); 最後透过Response.BinaryWrite 把一开始宣告的MemoryStream下载下来 Response.BinaryWrite(ms.ToArray()); 以上供有相同问题的人参考 谢谢大家帮忙 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.127.81.14
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1463728684.A.825.html
1F:→ VVll: 你可以把图档转base64去存在DB内 存NoSQL也是不错的选择 05/21 03:22
2F:→ VVll: 然後写个WS去串连DB资料 最後你看你要取单张 还是多张压缩 05/21 03:23
3F:→ VVll: 当然你也可以不用这麽麻烦 直接先把图档都取出来放在记忆体 05/21 03:24
4F:→ VVll: 然後再转换後做压缩 然後下载 05/21 03:25
5F:→ kisha024: 谢谢 如果是後面那种做法 有程式码范例可供我参考吗? 05/21 17:23
6F:→ kisha024: 或者是关键字 我再自己去google 05/21 17:25
7F:→ ssccg: 你要先看懂你这段程式的意思,倒数第二行是把HttpResponse( 05/21 19:08
8F:→ ssccg: 下载的档案)存到xfile(实体档案) 05/21 19:08
9F:→ ssccg: ↑应该说用xfile写入 05/21 19:11
10F:→ ssccg: 所以你要下载一个zip就是你要先另外把多个实体档案读进 05/21 19:11
11F:→ ssccg: memory,再做成一个压缩档,再拿来用就好了 05/21 19:12
12F:→ ssccg: 至於怎麽把档案从DB读出来,那就要看你怎麽存、怎麽连了 05/21 19:16
※ 编辑: kisha024 (140.127.81.14), 06/09/2016 18:08:00







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP