Also fixes an issue with potential stream types that throw a NotSupportedException when checking its properties. [Apparently, they exist.](https://github.com/dotnet/corefx/blob/master/src/System.Net.Http.WinHttpHandler/src/System/Net/Http/WinHttpResponseStream.cs)pull/768/head
@@ -120,6 +120,9 @@ namespace Discord.Rest | |||||
string name, IVoiceRegion region, Stream jpegIcon, RequestOptions options) | string name, IVoiceRegion region, Stream jpegIcon, RequestOptions options) | ||||
{ | { | ||||
var args = new CreateGuildParams(name, region.Id); | var args = new CreateGuildParams(name, region.Id); | ||||
if (jpegIcon != null) | |||||
args.Icon = new API.Image(jpegIcon); | |||||
var model = await client.ApiClient.CreateGuildAsync(args, options).ConfigureAwait(false); | var model = await client.ApiClient.CreateGuildAsync(args, options).ConfigureAwait(false); | ||||
return RestGuild.Create(client, model); | return RestGuild.Create(client, model); | ||||
} | } | ||||
@@ -1,5 +1,6 @@ | |||||
using Newtonsoft.Json; | |||||
using System; | |||||
using System; | |||||
using System.IO; | |||||
using Newtonsoft.Json; | |||||
using Model = Discord.API.Image; | using Model = Discord.API.Image; | ||||
namespace Discord.Net.Converters | namespace Discord.Net.Converters | ||||
@@ -23,8 +24,12 @@ namespace Discord.Net.Converters | |||||
if (image.Stream != null) | if (image.Stream != null) | ||||
{ | { | ||||
byte[] bytes = new byte[image.Stream.Length - image.Stream.Position]; | |||||
image.Stream.Read(bytes, 0, bytes.Length); | |||||
Stream cloneStream = new MemoryStream(); | |||||
image.Stream.CopyTo(cloneStream); | |||||
byte[] bytes = new byte[cloneStream.Length]; | |||||
cloneStream.Seek(0, SeekOrigin.Begin); | |||||
cloneStream.Read(bytes, 0, bytes.Length); | |||||
string base64 = Convert.ToBase64String(bytes); | string base64 = Convert.ToBase64String(bytes); | ||||
writer.WriteValue($"data:image/jpeg;base64,{base64}"); | writer.WriteValue($"data:image/jpeg;base64,{base64}"); | ||||