使用 HttpResponse 将 byte[] 作为 file.jpg 添加到 ZipFile
Add byte[] to ZipFile as file.jpg with HttpResponse
我已经截取了这段下载成功的代码:
byte[] bytes;
bytes = Convert.FromBase64String(lehrling.passfoto);
Response.Clear();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "image/jpg";
Response.AddHeader("content-disposition", "attachment; filename=" + lehrling.vorname + "." + lehrling.nachname + ".jpeg");
Response.OutputStream.Write(bytes, 0, bytes.Length);
Response.End()
这很好用。我从中得到一个 jpeg 文件。现在:
我创建了一个 for 循环,为每个字节数组执行上面显示的代码:
for (int i = 0; i < anzahlBilder; i++)
{
//My Code here
}
Response.End()
我从其他地方得到 anzahlBilder
。这对我的问题并不重要。我将 Response.End()
放在我的 for 循环之外,否则它会在下载 1 image
之后结束。
邮编:
现在我想创建一个 .Zip 文件,其中包含我所有的图像。我不知道该怎么做。有什么建议吗?
通过使用System.IO.Compression.ZipFile
您需要添加对程序集的 dll 引用,"System.IO.Compression.FileSystem.dll" 并导入命名空间。
System.IO.Compression
在顶部。
ZipFile zipFile = new ZipFile();
for(int i = 0; i < anzahlBilder; i++)
{
using (MemoryStream ms= new MemoryStream(Convert.FromBase64String(lehrling.passfoto)))
{
Image userImage = Image.FromStream(ms);
userImage.Save(ms, ImageFormat.Jpeg);
ms.Seek(0, SeekOrigin.Begin);
byte[] imageData = new byte[ms.Length];
ms.Read(imageData, 0, imageData.Length);
zipFile.AddEntry(lehrling.vorname + "." + lehrling.nachname + ".jpeg", imageData);
}
}
zipFile.Save(Response.OutputStream);
对 lehrling.passfoto
和 lehrling.vorname + "." + lehrling.nachname + ".jpeg"
进行必要的更改以使其正常工作。
我已经截取了这段下载成功的代码:
byte[] bytes;
bytes = Convert.FromBase64String(lehrling.passfoto);
Response.Clear();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.ContentType = "image/jpg";
Response.AddHeader("content-disposition", "attachment; filename=" + lehrling.vorname + "." + lehrling.nachname + ".jpeg");
Response.OutputStream.Write(bytes, 0, bytes.Length);
Response.End()
这很好用。我从中得到一个 jpeg 文件。现在:
我创建了一个 for 循环,为每个字节数组执行上面显示的代码:
for (int i = 0; i < anzahlBilder; i++)
{
//My Code here
}
Response.End()
我从其他地方得到 anzahlBilder
。这对我的问题并不重要。我将 Response.End()
放在我的 for 循环之外,否则它会在下载 1 image
之后结束。
邮编:
现在我想创建一个 .Zip 文件,其中包含我所有的图像。我不知道该怎么做。有什么建议吗?
通过使用System.IO.Compression.ZipFile
您需要添加对程序集的 dll 引用,"System.IO.Compression.FileSystem.dll" 并导入命名空间。
System.IO.Compression
在顶部。
ZipFile zipFile = new ZipFile();
for(int i = 0; i < anzahlBilder; i++)
{
using (MemoryStream ms= new MemoryStream(Convert.FromBase64String(lehrling.passfoto)))
{
Image userImage = Image.FromStream(ms);
userImage.Save(ms, ImageFormat.Jpeg);
ms.Seek(0, SeekOrigin.Begin);
byte[] imageData = new byte[ms.Length];
ms.Read(imageData, 0, imageData.Length);
zipFile.AddEntry(lehrling.vorname + "." + lehrling.nachname + ".jpeg", imageData);
}
}
zipFile.Save(Response.OutputStream);
对 lehrling.passfoto
和 lehrling.vorname + "." + lehrling.nachname + ".jpeg"
进行必要的更改以使其正常工作。