Skip to content

Commit 6682529

Browse files
Merge pull request #1153 from SixLabors/js/more-efficient-base64
More Efficient ToBase64String
2 parents 26b89ed + 3dd4951 commit 6682529

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/ImageSharp/ImageExtensions.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,12 +112,12 @@ public static void Save(this Image source, Stream stream, IImageFormat format)
112112
public static string ToBase64String<TPixel>(this Image<TPixel> source, IImageFormat format)
113113
where TPixel : unmanaged, IPixel<TPixel>
114114
{
115-
using (var stream = new MemoryStream())
116-
{
117-
source.Save(stream, format);
118-
stream.Flush();
119-
return $"data:{format.DefaultMimeType};base64,{Convert.ToBase64String(stream.ToArray())}";
120-
}
115+
using var stream = new MemoryStream();
116+
source.Save(stream, format);
117+
118+
// Always available.
119+
stream.TryGetBuffer(out ArraySegment<byte> buffer);
120+
return $"data:{format.DefaultMimeType};base64,{Convert.ToBase64String(buffer.Array, 0, (int)stream.Length)}";
121121
}
122122
}
123123
}

0 commit comments

Comments
 (0)