@page "/"
@inject HttpClient Http
@code {
string loaderUrl = "data:image/svg+xml;base64,PCEtLSBCeSBTYW0gSGVyYmVydCAoQHNoZXJiKSwgZm9yIGV2ZXJ5b25lLiBNb3JlIEAgaHR0cDovL2dvby5nbC83QUp6YkwgLS0+Cjxzdmcgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3Ryb2tlPSIjZmZmIj4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMSAxKSIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBzdHJva2Utb3BhY2l0eT0iLjUiIGN4PSIxOCIgY3k9IjE4IiByPSIxOCIvPgogICAgICAgICAgICA8cGF0aCBkPSJNMzYgMThjMC05Ljk0LTguMDYtMTgtMTgtMTgiPgogICAgICAgICAgICAgICAgPGFuaW1hdGVUcmFuc2Zvcm0KICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVOYW1lPSJ0cmFuc2Zvcm0iCiAgICAgICAgICAgICAgICAgICAgdHlwZT0icm90YXRlIgogICAgICAgICAgICAgICAgICAgIGZyb209IjAgMTggMTgiCiAgICAgICAgICAgICAgICAgICAgdG89IjM2MCAxOCAxOCIKICAgICAgICAgICAgICAgICAgICBkdXI9IjFzIgogICAgICAgICAgICAgICAgICAgIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+CiAgICAgICAgICAgIDwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==";
string imageJpgDataURL = string.Empty;
string imagePngDataURL = string.Empty;
string svgDataURL = string.Empty;
async Task GetSvg()
{
svgDataURL = loaderUrl;
var svgHtml = "<svg width=\"300\" height=\"300\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"lg\"><stop offset=\"0%\" stop-color=\"#79ff72\"/><stop offset=\"100%\" stop-color=\"#daf1ff\"/></linearGradient><rect x=\"2\" y=\"2\" width=\"296\" height=\"296\" style=\"fill:url(#lg);stroke:#bdb2ff;stroke-width:2\"/><text x=\"50%\" y=\"50%\" font-size=\"18\" text-anchor=\"middle\" alignment-baseline=\"middle\" font-family=\"monospace, sans-serif\" fill=\"#bdb2ff\">300×300</text></svg>";
var imageBytes = System.Text.Encoding.UTF8.GetBytes(svgHtml);
var imageSrc = Convert.ToBase64String(imageBytes);
svgDataURL = string.Format("data:image/svg+xml;base64,{0}", imageSrc);
}
async Task GetPngImage()
{
imagePngDataURL = loaderUrl;
var url = "https://dummyimage.com/300x300/5e355e/626594.png&text=Test";
var imageBytes = await Http.GetByteArrayAsync(url);
var imageSrc = Convert.ToBase64String(imageBytes);
imagePngDataURL = string.Format("data:image/png;base64,{0}", imageSrc);
}
async Task GetJpegImage()
{
imageJpgDataURL = loaderUrl;
var url = "https://i.picsum.photos/id/494/200/300.jpg?hmac=YdLwRbrTAzFXaAJcsj854mgNuS5jqYM8bcjCzSrSDRM";
var imageBytes = await Http.GetByteArrayAsync(url);
var imageSrc = Convert.ToBase64String(imageBytes);
imageJpgDataURL = string.Format("data:image/jpeg;base64,{0}", imageSrc);
}
}
<button type="button" @onclick="() => GetJpegImage()">Load jpeg image</button>
<button type="button" @onclick="() => GetPngImage()">Load png image</button>
<button type="button" @onclick="() => GetSvg()">Load svg</button>
<div class="images">
<img class="image" src="@imageJpgDataURL" />
<img class="image" src="@imagePngDataURL" />
<img class="image" src="@svgDataURL" />
</div>