Skip to content

Commit

Permalink
update file download example
Browse files Browse the repository at this point in the history
  • Loading branch information
mingyouzhu committed Jan 8, 2022
1 parent f67179e commit 0804be8
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 8 deletions.
4 changes: 4 additions & 0 deletions example/ExampleConsole/ExampleConsole.csproj
Expand Up @@ -11,4 +11,8 @@
<ProjectReference Include="..\..\src\Retrofit.Net.Core\Retrofit.Net.Core.csproj" />
</ItemGroup>

<ItemGroup>
<PackageReference Include="ShellProgressBar" Version="5.1.0" />
</ItemGroup>

</Project>
31 changes: 23 additions & 8 deletions example/ExampleConsole/Program.cs
Expand Up @@ -5,31 +5,46 @@
using Retrofit.Net.Core;
using Retrofit.Net.Core.Converts;
using Retrofit.Net.Core.Models;
using ShellProgressBar;

var client = new RetrofitClient.Builder()
.AddInterceptor(new HeaderInterceptor())
.AddInterceptor(new SimpleInterceptorDemo())
.AddTimeout(TimeSpan.FromSeconds(10)) // The default wait time after making an http request is 6 seconds
.Build();
var retrofit = new Retrofit.Net.Core.Retrofit.Builder()
.AddBaseUrl("https://localhost:7283")
.AddBaseUrl("https://localhost:7283") // Base Url
.AddClient(client)
.AddConverter(new DefaultXmlConverter()) // The internal default is ‘DefaultJsonConverter’ if you don’t call ‘.AddConverter(new DefaultJsonConverter())’
.Build();
var service = retrofit.Create<IPersonService>();

Response<Stream> response = await service.Download("test");
Stream outStream = File.Create("/Users/onllyarchibald/Desktop/a.zip");

var options = new ProgressBarOptions
{
ForegroundColor = ConsoleColor.Yellow,
ForegroundColorDone = ConsoleColor.DarkGreen,
BackgroundColor = ConsoleColor.DarkGray,
BackgroundCharacter = '\u2593'
};
var pbar = new ProgressBar((int)response.Body!.Length, "File Downloading", options);

/*Response<Stream> response = await service.Download("test");
Stream outStream = File.Create("/Users/onllyarchibald/Desktop/a.zip");
byte[] buffer = new byte[1024];
int i;
do{
i = response.Body!.Read(buffer,0,buffer.Length);
if(i > 0)outStream.Write(buffer,0,i);
}while(i > 0);
do
{
i = response.Body!.Read(buffer, 0, buffer.Length);
if (i > 0)
{
outStream.Write(buffer, 0, i);
pbar.Tick((int)outStream.Length,"Downloading...");
}
} while (i > 0);
outStream.Close();
response.Body.Close();
Console.WriteLine("File upload completed...");*/
Console.WriteLine("\nFile download completed...");

// HttpClient client1 = new HttpClient();
// Stream inStream = await client1.GetStreamAsync("https://localhost:7283/WeatherForecast");
Expand Down

0 comments on commit 0804be8

Please sign in to comment.