Asp.net 获取图片列表并打包下载
先引用:ICSharpCode.SharpZipLib.dll
后台代码:
using System.IO;
using ICSharpCode.SharpZipLib.Zip;
using ICSharpCode.SharpZipLib.Checksums;
using ICSharpCode.SharpZipLib.GZip; protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
DataTable dt1 = OleDbHelper.GetDataTable("select tupian from cp_img where cpid=" + ltl_id.Text + " and lx=0 order by px asc");
DataTable dt2 = OleDbHelper.GetDataTable("select tupian from cp_img where cpid=" + ltl_id.Text + " and lx=1 order by px asc");
if (dt1.Rows.Count > 0)
{
MemoryStream ms = new MemoryStream();
byte[] buffer = null; using (ZipFile file = ZipFile.Create(ms))
{
file.BeginUpdate();
file.NameTransform = new MyNameTransfom();//通过这个名称格式化器,可以将里面的文件名进行一些处理。默认情况下,会自动根据文件的路径在zip中创建有关的文件夹。 for (int i = 0; i < dt1.Rows.Count; i++)
{
file.Add(Server.MapPath(dt1.Rows[i]["tupian"].ToString())); for (int j = 0; j < dt2.Rows.Count; j++)
{
file.Add(Server.MapPath(dt2.Rows[j]["tupian"].ToString()));
}
} file.CommitUpdate(); buffer = new byte[ms.Length];
ms.Position = 0;
ms.Read(buffer, 0, buffer.Length);
} string filename = ltl_mc.Text + "-" + DateTime.Now.ToString() + ".zip"; Response.AddHeader("content-disposition", "attachment;filename=" + filename + "");
Response.BinaryWrite(buffer);
Response.Flush();
Response.End();
}
} public class MyNameTransfom : ICSharpCode.SharpZipLib.Core.INameTransform
{ #region INameTransform 成员 public string TransformDirectory(string name)
{
return null;
} public string TransformFile(string name)
{
return Path.GetFileName(name);
} #endregion
}
Asp.net 获取图片列表并打包下载的更多相关文章
- iOS开发中,获取图片之后保存或下载到本地相册中
#pragma mark 先获取本地图片或者网络图片 - (void)saveHeaderImageWith:(NSString *)path { UIImage *img = [UIImage im ...
- 怎样从server获取图片
今天写了安卓程序与server通信.当中须要从server获取图片.本来以为下载流.处理文件流非常复杂.结果几句话就轻松搞定了.如今记在这里. // (2014.5.1第一种方法)通过server返回 ...
- ASP.NET多文件批量打包下载
在对多文件打包中用到了 DotNetZip 的方法来实现对多文件压缩打包.需要到http://dotnetzip.codeplex.com/处下载该文件,然后引用即可. Default.aspx: & ...
- 阿里云使用js 实现OSS图片上传、获取OSS图片列表、获取图片外网访问地址(读写权限私有、读写权限公共);
详情请参考:https://help.aliyun.com/document_detail/32069.html?spm=a2c4g.11186623.6.763.ZgC59a 或者https://h ...
- Jszip的使用和打包下载图片
因为canvas总结到后面又想到了jszip的一些事情,那就索性也回去看看吧.试过,至少谷歌和火狐都是支持jszip的. 1. jszip的使用 官方文档说的很清楚了,而且也有读取zip文件.生成z ...
- 数据库blob图片文件,多图片打包下载
数据库存储blob图片文件,前端打包下载 数据库图片文件实体类 package com.cmrh.mspserver.pos.dto; import java.io.Serializable; imp ...
- c#服务端图片打包下载
一,设计多图片打包下载逻辑:1,如果是要拉取腾讯云等资源服务器的图片,2,我们先把远程图片拉取到本地的临时文件夹,3,然后压缩临时文件夹,4,压缩完删除临时文件夹,5,返回压缩完给用户,6,用户就去请 ...
- C#WPF做FTP上传下载获取文件列表
Xaml.cs: using Microsoft.Win32;using System;using System.Collections.Generic;using System.IO;using S ...
- ASP.NET五步打包下载Zip文件
本文版权归博客园和作者吴双共同所有,转载和爬虫请注明原文地址:www.cnblogs.com/tdws 首先分享几个振奋人心的新闻: 1.谷歌已经宣布加入.NET基金会 2.微软加入Linux基金会, ...
随机推荐
- EF 6 调用存储过程时返回多结果集和OUTPUT参数问题
原文地址:http://q.cnblogs.com/q/56836/ 各位大侠,提问一个关于EF6调用存储过程时返回多结果集和OUTPUT参数问题 目前已经可以调用存储过程并且可以返回多个结果集. 但 ...
- CocoaPods的安装及安装出现问题的处理
ocoaPods安装分两步:第一步.修改本机的Ruby环境:第二步.安装. 第一步:步骤1.打开终端输入 gem sources -l 查看本机的Ruby环境:若显示“https://ruby ...
- Redis事务和分布式锁
Redis事务 Redis中的事务(transaction)是一组命令的集合.事务同命令一样都是Redis最小的执行单位,一个事务中的命令要么都执行,要么都不执行.Redis事务的实现需要用到 MUL ...
- javascript第十一课,string对象
length: //字符串长度,索引从0开始 var str='说东方闪电方式的'; alert(str.length); charAt(index); var n='阿斯顿发生打算'; n.cha ...
- SQL Server DBA三十问【转】
http://database.51cto.com/art/201110/298926.htm 很多开发人员都想成为一名DBA,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识 ...
- 《github一天一道算法题》:插入排序
看书.思考.写代码! /*********************************************** * copyright@hustyangju * blog: http://bl ...
- 使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库
本文转自CSDN博客,http://blog.csdn.net/helifengwell/archive/2010/08/18/5820434.aspx 1,先到Oracle站点下载Instant C ...
- ProductHunt:创业公司产品猎场和秀场
Product模式介绍 ProductHunt(站点www.producthunt.com)是一个国外新出现的创业公司产品展示和交流平台, 顾名思义.对于创业者而言这里是一个秀场,而对于投资人而言这里 ...
- Linux解决xhost: unable to open display
实用技巧:在Linux下设置xhost方法步骤 第一步:用root登陆linux,启动vnc服务: 第二步:根据vnc起来的端口,设置export DISPLAY=localhost:1(1表示vnc ...
- Asp.Net MVC 常用开发方式之EF Code First
在我们的工作和学习当中,经常会遇到中小型项目,这些项目除了业务上的区别较大外,对于底层和数据访问,其实都差不多.记得以前做项目时,每次都要重复的写底层操作数据库的代码,不仅浪费时间,也无太大意思,后来 ...