2015-10-20 87 views
0

我需要编写一个方法将byte []转换为.jpeg文件,然后压缩这些jpeg文件。将字节[]转换为.jpeg和zip

我做了一些研究,但仍然无法弄清楚。感谢您的帮助。

代码更新

Using Ionic.Zip; 
public static void ZipJpeg(int ID) 
{ 
    ZipFile zip = new ZipFile(); 
    Dictionary<int, byte[]> photos = new Dictionary<int, byte[]>(); 
    photos = clientInfo_BL.GetByID(ID); 
    string fileName; 
    foreach(var p in photos.Values) 
    { 
     fileName = p.uploadDate.toString() + ".jpeg"; 
     using(Image image = image.FromStream(new MemoryStream(p.ImageData))) 
     { 
      image.Save(fileName. ImageFormat.Jpeg); 
     } 
     Zip.AddEntry(image); // couldnt figure out this one 
    } 
    zip.save()//not sure if this one is right 
    return zip; 
} 
+3

通过搜索一个步骤那么其他的开始。 – DLeh

+0

byte []中的内容是什么?也确定你的代码不起作用。没有magic.take在这里看看http://stackoverflow.com/questions/8946846/converting-a-byte-array-to-png-jpg也压缩文件只是谷歌它。 http://stackoverflow.com/questions/940582/how-do-i-zip-a-file-in-c-using-no-3rd-party-apis –

+0

谢谢你的帮助。关于我已阅读的zip文件的帖子主要是使用文件系统压缩文件,这不是我想要的。我希望将使用jpeg文件的zip文件返回给用户,而不使用文件系统。 – myname

回答

3

既然你已经有了你的字节数组,您只差一个步骤就可以将其转换为jpeg图像!

using(Image image = Image.FromStream(new MemoryStream(bitmap))) 
{ 
    image.Save("output.jpg", ImageFormat.Jpeg); 
} 

Image.FromStream()

+0

感谢您的帮助。 – myname