static async Task Main(string[] args) { var httpclient = new ViduHttpClient(); // Tải dữ liệu - trả về mảng byte[] var url1 = "https://raw.githubusercontent.com/xuanthulabnet/jekyll-example/master/images/jekyll-01.png"; var task1 = httpclient.DownloadDataBytes(url1); //Tải dữ liệu - trả về stream string url2 = "https://raw.githubusercontent.com/xuanthulabnet/linux-centos/master/docs/samba1.png"; var task2 = httpclient.DownloadDataStream(url2); await task1; // chờ cho tải xong byte[] dataimg = task1.Result; // Lưu mảng ra file anh1.png string filepath = "anh1.png"; using (var stream = new FileStream(filepath, FileMode.Create, FileAccess.Write, FileShare.None)) { stream.Write(dataimg, 0, dataimg.Length); Console.WriteLine("save " + filepath); } await task2; // chờ cho tải xong int SIZEBUFFER = 500; // Đọc dữ liệu từ stream trả về, lưu ra file anh2.pnng string filepath2 = "anh2.png"; using (var streamwrite = File.OpenWrite(filepath2)) using (var streamread = task2.Result) { byte[] buffer = new byte[SIZEBUFFER]; // tạo bộ nhớ đệm lưu dữ liệu khi đọc stream bool endread = false; do { int numberRead = streamread.Read(buffer, 0, SIZEBUFFER); if (numberRead == 0) { endread = true; } else { streamwrite.Write(buffer, 0, numberRead); } } while (!endread); } Console.WriteLine("save " + filepath2); }
static void Main(string[] args) { var url = "https://xuanthulab.net/api/"; var json = @" { ""id"":""1"", ""method"":""timestampToDate"", ""params"": {""routin"":""UnixTime"", ""timestamp"":""1483228800""} }"; ViduHttpClient vidu = new ViduHttpClient(); var task = vidu.SendAsyncJson(url, json); task.Wait(); Console.WriteLine(task.Result); }