最近做上传图片功能时,遇到的一些问题,在这里记录一下,以便备忘

1.关于数据压缩的问题(压缩后byte[]数组的长度反而更大)

因为图片和网站是分开的,我这里上传图片用的是webservice,为了能够减少数据传输量,同时使用了数据解压缩,代码如下:

数据解压缩帮助类

 1 public class DataCompressor
 2     {
 3         /// <summary>
 4         /// 压缩
 5         /// </summary>
 6         /// <param name="decompressedData"></param>
 7         /// <returns></returns>
 8         public static byte[] Compress(byte[] decompressedData)
 9         {
10             using (MemoryStream stream = new MemoryStream())
11             {
12                 DeflateStream stream3 = new DeflateStream(stream, CompressionMode.Compress, true);
13                 stream3.Write(decompressedData, 0, decompressedData.Length);
14                 stream3.Close();
15                 return stream.ToArray();
16             }
17         }
18         /// <summary>
19         /// 解压缩
20         /// </summary>
21         /// <param name="compressedData"></param>
22         /// <returns></returns>
23         public static byte[] Decompress(byte[] compressedData)
24         {
25             using (MemoryStream stream = new MemoryStream(compressedData))
26             {
27                 using (DeflateStream stream3 = new DeflateStream(stream, CompressionMode.Decompress))
28                 {
29                     return LoadToBuffer(stream3);
30                 }
31             }
32         }
33 
34         private static byte[] LoadToBuffer(Stream stream)
35         {
36             using (MemoryStream stream2 = new MemoryStream())
37             {
38                 int num;
39                 byte[] buffer = new byte[0x400];
40                 while ((num = stream.Read(buffer, 0, buffer.Length)) > 0)
41                 {
42                     stream2.Write(buffer, 0, num);
43                 }
44                 return stream2.ToArray();
45             }
46         }
View Code

相关文章:

  • 2021-12-27
  • 2021-10-14
  • 2022-01-16
  • 2021-11-07
  • 2021-10-01
  • 2022-12-23
  • 2022-12-23
  • 2022-02-03
猜你喜欢
  • 2021-11-14
  • 2022-01-18
  • 2021-08-22
  • 2022-12-23
  • 2022-02-02
  • 2021-07-24
  • 2021-09-17
相关资源
相似解决方案