Last active
August 29, 2015 14:02
-
-
Save kazuakix/8190fd2c00bf039993a8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// System.Net.Http.HttpClient でテスト | |
private async void OnTest1ButtonClicked(object sender, RoutedEventArgs e) | |
{ | |
System.Diagnostics.Debug.WriteLine("========== System.Net.Http.HttpClient test start =========="); | |
var sw = new System.Diagnostics.Stopwatch(); | |
sw.Start(); | |
await GetImage1("http://flashair/DCIM/101NIKON/DSCN0558.JPG", "DSCN0558.JPG"); | |
sw.Stop(); | |
System.Diagnostics.Debug.WriteLine(sw.Elapsed); | |
System.Diagnostics.Debug.WriteLine("========== System.Net.Http.HttpClient test end =========="); | |
} | |
private async Task<bool> GetImage1(string uri, string fileName) | |
{ | |
var req = new System.Net.Http.HttpClient(); | |
var res = await req.GetAsync(uri); | |
if (res.IsSuccessStatusCode) | |
{ | |
var folder = await Windows.Storage.KnownFolders.PicturesLibrary.CreateFolderAsync("FlashAir", CreationCollisionOption.OpenIfExists); | |
if (null == folder) return false; | |
var file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting); | |
using (var src = await res.Content.ReadAsStreamAsync()) | |
using (var dst = await file.OpenStreamForWriteAsync()) | |
{ | |
var read = 0; | |
var size = 4096; | |
var buffer = new byte[size]; | |
while ((read = src.Read(buffer, 0, size)) > 0) | |
{ | |
dst.Write(buffer, 0, read); | |
} | |
} | |
return true; | |
} | |
return false; | |
} | |
// Windows.Web.Http.HttpClient でテスト | |
private async void OnTest2ButtonClicked(object sender, RoutedEventArgs e) | |
{ | |
System.Diagnostics.Debug.WriteLine("========== Windows.Web.Http.HttpClient test start =========="); | |
var sw = new System.Diagnostics.Stopwatch(); | |
sw.Start(); | |
await GetImage2("http://flashair/DCIM/101NIKON/DSCN0557.JPG", "DSCN0571.JPG"); | |
sw.Stop(); | |
System.Diagnostics.Debug.WriteLine(sw.Elapsed); | |
System.Diagnostics.Debug.WriteLine("========== Windows.Web.Http.HttpClient test end =========="); | |
} | |
private async Task<bool> GetImage2(string uri, string fileName) | |
{ | |
var req = new Windows.Web.Http.HttpClient(); | |
var res = await req.GetAsync(new Uri(uri, UriKind.Absolute)); | |
if (res.IsSuccessStatusCode) | |
{ | |
var folder = await Windows.Storage.KnownFolders.PicturesLibrary.CreateFolderAsync("FlashAir", CreationCollisionOption.OpenIfExists); | |
if (null == folder) return false; | |
var file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting); | |
using (var src = (await res.Content.ReadAsInputStreamAsync()).AsStreamForRead()) | |
using (var dst = await file.OpenStreamForWriteAsync()) | |
{ | |
var read = 0; | |
var size = 4096; | |
var buffer = new byte[size]; | |
while ((read = src.Read(buffer, 0, size)) > 0) | |
{ | |
dst.Write(buffer, 0, read); | |
} | |
} | |
return true; | |
} | |
return false; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment