@@ -4,7 +4,6 @@ namespace devanewbot.Api.v0.Controllers;
4
4
using System . IO . Compression ;
5
5
using System . Linq ;
6
6
using System . Net . Http ;
7
- using System . Net . Mime ;
8
7
using System . Threading . Tasks ;
9
8
using Microsoft . AspNetCore . Mvc ;
10
9
using SlackNet ;
@@ -28,16 +27,19 @@ public async Task<IActionResult> Export()
28
27
{
29
28
var emojis = await Client . Emoji . List ( ) ;
30
29
using var memoryStream = new MemoryStream ( ) ;
31
- using var archive = new ZipArchive ( memoryStream ) ;
32
- using var httpClient = HttpClientFactory . CreateClient ( ) ;
33
- foreach ( var emoji in emojis . Where ( e => ! e . Value . StartsWith ( "alias:" ) ) )
30
+ using ( var archive = new ZipArchive ( memoryStream , ZipArchiveMode . Create , true ) )
34
31
{
35
- var response = await httpClient . GetStreamAsync ( emoji . Value ) ;
36
- var entry = archive . CreateEntry ( $ "{ emoji . Key } .png") ;
37
- var entryStream = entry . Open ( ) ;
38
- await response . CopyToAsync ( entryStream ) ;
32
+ using var httpClient = HttpClientFactory . CreateClient ( ) ;
33
+ foreach ( var emoji in emojis . Where ( e => ! e . Value . StartsWith ( "alias:" ) ) )
34
+ {
35
+ var response = await httpClient . GetStreamAsync ( emoji . Value ) ;
36
+ var entry = archive . CreateEntry ( $ "{ emoji . Key } .png") ;
37
+ using var entryStream = entry . Open ( ) ;
38
+ await response . CopyToAsync ( entryStream ) ;
39
+ }
39
40
}
40
41
41
- return File ( memoryStream , "application/zip" , "emoji.zip" ) ;
42
+ memoryStream . Seek ( 0 , SeekOrigin . Begin ) ;
43
+ return File ( memoryStream . ToArray ( ) , "application/zip" , "emoji.zip" ) ;
42
44
}
43
45
}
0 commit comments