private static string BuildDataUri(string mimeType, Stream dataStream)
{
StringBuilder builder = new StringBuilder();
builder.Append("data:");
builder.Append(mimeType);
builder.Append(";base64,");
using (MemoryStream memoryStream = new MemoryStream())
{
byte[] buffer = new byte[8192];
int bytesRead;
while ((bytesRead = dataStream.Read(buffer, 0, buffer.Length)) > 0)
memoryStream.Write(buffer, 0, bytesRead);
builder.Append(Convert.ToBase64String(memoryStream.GetBuffer(), 0, (int)memoryStream.Length));
}
return builder.ToString();
}