需求是  从客户端上传一个1M大小的文件, 然后压成byte[]型数组,传到服务器上。
那么服务器如何把这个byte[]解析成原来的那个1M文件,然后在服务器上生成这个文件。
请大家帮帮忙

解决方案 »

  1.   

    是什么格式的文件? 是二进制的还是文本?如果是二进制的,需要按照特定的格式转换,如果是文本,可以考虑用下面的函数。然后再写入文件。但是一个1mb的byte[]转换起来会很慢的。        /// <summary>
            /// 字节数组中从0开始的某一固定长度内容转为字符串
            /// </summary>
            /// <param name="bytes">要转换的字节数组</param>
            /// <param name="size">要转换的长度</param>
            /// <returns>转换后的字符串</returns>
            public static string ByteToHexStr(byte[] bytes, int size)
            {
                StringBuilder sb = new StringBuilder();
                if (bytes != null)
                {
                    
                    for (int i = 0; i < size; i++)
                    {
                        sb.append(bytes[i].ToString());
                    }            }
                return sb.toString();
            }
      

  2.   

    System.IO.FileStream fs = new System.IO.FileStream("");//新文件
                                    //byte[] bs;内容
                                    fs.Write(bs, 0, bs.Length);
                                    fs.Close();
      

  3.   

    System.IO.FileStream fs = System.IO.File.Create("文件名");//新文件
      //byte[] bs;内容
      fs.Write(bs, 0, bs.Length);
      fs.Close();
      

  4.   


    Convert.ToBase64String(byte[])
      

  5.   

    你要看一下,你的byte[]是什么编码的,是UTF-8还是ASCII
    还是GBK,或是BASE64?如果是字符串编码的话,就可以用Encoding.UTF8.GetString(byte类型的数组)
      

  6.   

    晕,哪有那么复杂:
    (using System.IO;)
    File.ReadAllBytes, File.WriteAllBytes 就都搞定了。