-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Blazor Image component to display images that are not accessible through HTTP endpoints #25274
Copy link
Copy link
Closed
Feature
1 / 11 of 1 issue completed
Copy link
Labels
Priority:1Work that is critical for the release, but we could probably ship withoutWork that is critical for the release, but we could probably ship withoutaffected-fewThis issue impacts only small number of customersThis issue impacts only small number of customersarea-blazorIncludes: Blazor, Razor ComponentsIncludes: Blazor, Razor Componentscost: LWill take from 5 - 10 days to completeWill take from 5 - 10 days to completedesign-proposalThis issue represents a design proposal for a different issue, linked in the descriptionThis issue represents a design proposal for a different issue, linked in the descriptionenhancementThis issue represents an ask for new feature or an enhancement to an existing oneThis issue represents an ask for new feature or an enhancement to an existing onefeature-blazor-serverfeature-blazor-server-experienceIssues that make Blazor server experience different of Web assembly or DesktopIssues that make Blazor server experience different of Web assembly or Desktopseverity-minorThis label is used by an internal toolThis label is used by an internal tool
Milestone
Metadata
Metadata
Assignees
Labels
Priority:1Work that is critical for the release, but we could probably ship withoutWork that is critical for the release, but we could probably ship withoutaffected-fewThis issue impacts only small number of customersThis issue impacts only small number of customersarea-blazorIncludes: Blazor, Razor ComponentsIncludes: Blazor, Razor Componentscost: LWill take from 5 - 10 days to completeWill take from 5 - 10 days to completedesign-proposalThis issue represents a design proposal for a different issue, linked in the descriptionThis issue represents a design proposal for a different issue, linked in the descriptionenhancementThis issue represents an ask for new feature or an enhancement to an existing oneThis issue represents an ask for new feature or an enhancement to an existing onefeature-blazor-serverfeature-blazor-server-experienceIssues that make Blazor server experience different of Web assembly or DesktopIssues that make Blazor server experience different of Web assembly or Desktopseverity-minorThis label is used by an internal toolThis label is used by an internal tool
Type
Fields
Give feedbackNo fields configured for Feature.
Summary
Introduce an Image component to display images coming from
dynamicsources like API calls or databases.Motivation
Currently the most common way to display an image coming from the
Databaseis to base64 encoded it and create an object URL for it. This is problematic since images have a big size and that results in the allocation of large strings, which has a big impact on performance. We want to display images on the browser without allocating large amounts of memory on the .NET side.Goals
Non-goals
Scenarios
Risks
Interaction with other parts of the framework
Detailed design
This is a rough sketch, but the idea is to create an object on the JS side attached to the image. Use JS interop or other means to transfer the image down to the client (at which points its not longer on the .NET memory) and display it.
Drawbacks
We'll likely want to cache these things in the browser and will have to handle what happens when the input data changes and so on in the server.
We'll likely also want to avoid performing unnecessary requests on the server to retrieve an image that has already been retrieved, which might complicate things.
Considered alternatives
The current alternatives are:
Open questions
TBD