PDA

View Full Version : Base64 رو میشه فشرده کرد ؟



mehran6764
شنبه 14 اسفند 1395, 12:46 عصر
سلام ، میخوام عکس رو سیو کنم بفرستم سمت سرور php . میخواستم بدونم که اگه عکس رو به base64 تبدیل کنم بعدش می تونم اینو فشرده کنم و به صورت فشرده سمت سرور ارسال کنم
که سرعت انتقال عکس بیشتر باشه ؟

CsharpNevisi
شنبه 14 اسفند 1395, 13:15 عصر
//-- using // using System.IO;
// using System.IO.Compression;
//-- using


public static void CopyTo(Stream src, Stream dest)
{
byte[] bytes = new byte[4096];


int cnt;


while ((cnt = src.Read(bytes, 0, bytes.Length)) != 0)
{
dest.Write(bytes, 0, cnt);
}
}


public static byte[] Zip(string str)
{
var bytes = Encoding.UTF8.GetBytes(str);


using (var msi = new MemoryStream(bytes))
using (var mso = new MemoryStream())
{
using (var gs = new GZipStream(mso, CompressionMode.Compress))
{
//msi.CopyTo(gs);
CopyTo(msi, gs);
}


return mso.ToArray();
}
}


public static string Unzip(byte[] bytes)
{
using (var msi = new MemoryStream(bytes))
using (var mso = new MemoryStream())
{
using (var gs = new GZipStream(msi, CompressionMode.Decompress))
{
//gs.CopyTo(mso);
CopyTo(gs, mso);
}


return Encoding.UTF8.GetString(mso.ToArray());
}
}


static void Main(string[] args)
{
byte[] r1 = Zip("StringStringStringStringStringStringStringStringSt ringStringStringStringStringString");
string r2 = Unzip(r1);
}