首页 新闻 会员 周边

asp.net 压缩成zip,,然后下载的问题。

0
悬赏园豆:10 [待解决问题]

int i = 0;
foreach (DataRow row in ds.Tables[0].Rows)
{

context.Response.ContentType = "image/jpeg";
context.Response.ClearContent();
string dcm_path = row["REFERENCE_FILE"].ToString();
string share_ip = SYS_APP_CONFIG.GetAppConfigValue("dcm_share_ip");
zipedFile = row["PATIENT_ID"].ToString();
string tuname = row["PATIENT_NAME"].ToString();
img = DicomUtility.GetJpegFromDcm(dcm_path, System.Drawing.Imaging.ImageFormat.Jpeg);//这是获取一个jpeg格式的图片
Image imgg = BytToImg(img);
zipname = tupian_url + tuname+i.ToString();
url = "d:\\webtupian" + "/" + tupian_url + "/" + zipedFile;
if (!Directory.Exists(url))
{
Directory.CreateDirectory("d:\\webtupian" + "/" + tupian_url + "/" + zipedFile);//创建新路径
}
string name = tuname + i.ToString();

imgg.Save("d:\\webtupian" + "/" + tupian_url + "/" + zipedFile + "/" + name + ".jpeg");//把图片存到 这个路径
listimage.Add("d:\\webtupian" + "/" + tupian_url + "/" + zipedFile + "/" + name + ".jpeg");//把图片路径添加到这个数组
i++;

}

using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile(zipname, Encoding.Default))
{
foreach (string fileToZip in listimage)
{
using (FileStream fs = new FileStream(fileToZip, FileMode.Open, FileAccess.ReadWrite))
{
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
string fileName = fileToZip.Substring(fileToZip.LastIndexOf("\\") + 1);
zip.AddEntry(fileName, buffer);
}
}
zip.Save(context.Response.OutputStream);
}
context.Response.End();
return "1";

 

执行完之后没有任何反应。下载不成功。上面都正常,就添加到zip下载的时候就没任何反应了。执行完毕之后,下载不行,然后到处也都找不到这个zip文件。

潇潇雨歇抬望眼1的主页 潇潇雨歇抬望眼1 | 初学一级 | 园豆:190
提问于:2016-01-05 21:51
< >
分享
所有回答(3)
0

不是返回zip吗,怎么Response.ContentType是image。

写代码的小2B | 园豆:4371 (老鸟四级) | 2016-01-06 09:43

改了这个还是不行,执行完毕之后还是没反应,只是保存图片到d盘成功了。可是就是压缩完之后下载就是没什么反应,大神您帮着看看吧!谢谢了

支持(0) 反对(0) 潇潇雨歇抬望眼1 | 园豆:190 (初学一级) | 2016-01-06 10:24
0
dudu | 园豆:30994 (高人七级) | 2016-01-06 10:23

我用这种方法了。执行到最后依然不成功,愁死了。怎么办啊!求解答,谢谢了。我是菜鸟

支持(0) 反对(0) 潇潇雨歇抬望眼1 | 园豆:190 (初学一级) | 2016-01-06 10:54
0

imgg .Dispose() ,在imgg.Save方法后面加上这句。记得要释放资源。

SimpleCoder | 园豆:116 (初学一级) | 2016-01-06 10:52

不行。还是下载不行

支持(0) 反对(0) 潇潇雨歇抬望眼1 | 园豆:190 (初学一级) | 2016-01-06 11:04

@蓉宇-轩:

试试看这样,先保存到本地,再读取出来,再返回

 

1. zip.Save(本地路径);

2. File.Read出来

3. 将压缩文件流写入Response.OutputStream

支持(0) 反对(0) SimpleCoder | 园豆:116 (初学一级) | 2016-01-06 11:29

@SimpleCoder: 给个例子行不

支持(0) 反对(0) 潇潇雨歇抬望眼1 | 园豆:190 (初学一级) | 2016-01-06 22:40

@蓉宇-轩: 已经说的很清楚了。具体的代码自己动手写。

支持(0) 反对(0) SimpleCoder | 园豆:116 (初学一级) | 2016-01-07 09:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册