diff --git a/src/EventHub.Admin.Application.Contracts/Organizations/UpdateOrganizationDto.cs b/src/EventHub.Admin.Application.Contracts/Organizations/UpdateOrganizationDto.cs index c2b018b..e165910 100644 --- a/src/EventHub.Admin.Application.Contracts/Organizations/UpdateOrganizationDto.cs +++ b/src/EventHub.Admin.Application.Contracts/Organizations/UpdateOrganizationDto.cs @@ -16,7 +16,7 @@ namespace EventHub.Admin.Organizations public string Description { get; set; } [CanBeNull] - public RemoteStreamContent ProfilePictureStreamContent { get; set; } + public IRemoteStreamContent ProfilePictureStreamContent { get; set; } [CanBeNull] [StringLength(OrganizationConsts.MaxWebsiteLength)] diff --git a/src/EventHub.Admin.Web/Pages/EventManagement.razor.cs b/src/EventHub.Admin.Web/Pages/EventManagement.razor.cs index 8f2cb29..1321650 100644 --- a/src/EventHub.Admin.Web/Pages/EventManagement.razor.cs +++ b/src/EventHub.Admin.Web/Pages/EventManagement.razor.cs @@ -159,7 +159,7 @@ namespace EventHub.Admin.Web.Pages await FileEntry.WriteToStreamAsync(stream); stream.Seek(0, SeekOrigin.Begin); - EditingEvent.CoverImageStreamContent = new RemoteStreamContent(stream, fileName: FileEntry.Name, contentType: FileEntry.Type); + EditingEvent.CoverImageStreamContent = new RemoteStreamContent(stream); void SetCoverImageUrl(string contentType, byte[] content) { @@ -173,7 +173,9 @@ namespace EventHub.Admin.Web.Pages DisabledCoverImageButton = false; } - SetCoverImageUrl(FileEntry.Type, stream.ToArray()); + SetCoverImageUrl(EditingEvent.CoverImageStreamContent.ContentType, stream.ToArray()); + + await stream.FlushAsync(); await InvokeAsync(StateHasChanged); } diff --git a/src/EventHub.Admin.Web/Pages/OrganizationManagement.razor.cs b/src/EventHub.Admin.Web/Pages/OrganizationManagement.razor.cs index 7e77881..3177162 100644 --- a/src/EventHub.Admin.Web/Pages/OrganizationManagement.razor.cs +++ b/src/EventHub.Admin.Web/Pages/OrganizationManagement.razor.cs @@ -121,8 +121,7 @@ namespace EventHub.Admin.Web.Pages var stream = new MemoryStream(); await FileEntry.WriteToStreamAsync(stream); stream.Seek(0, SeekOrigin.Begin); - - EditingOrganization.ProfilePictureStreamContent = new RemoteStreamContent(stream, fileName: FileEntry.Name, contentType: FileEntry.Type); + EditingOrganization.ProfilePictureStreamContent = new RemoteStreamContent(stream); void SetProfileImageUrl(string contentType, byte[] content) { @@ -135,7 +134,9 @@ namespace EventHub.Admin.Web.Pages } } - SetProfileImageUrl(FileEntry.Type, stream.ToArray()); + SetProfileImageUrl(EditingOrganization.ProfilePictureStreamContent.ContentType, stream.ToArray()); + + await stream.FlushAsync(); await InvokeAsync(StateHasChanged); } diff --git a/src/EventHub.Web/Pages/Organizations/Edit.cshtml.cs b/src/EventHub.Web/Pages/Organizations/Edit.cshtml.cs index caaca2c..4d7c0c1 100644 --- a/src/EventHub.Web/Pages/Organizations/Edit.cshtml.cs +++ b/src/EventHub.Web/Pages/Organizations/Edit.cshtml.cs @@ -48,7 +48,7 @@ namespace EventHub.Web.Pages.Organizations if (Organization.ProfilePictureFile != null && Organization.ProfilePictureFile.Length > 0) { await Organization.ProfilePictureFile.CopyToAsync(memoryStream); - + memoryStream.Position = 0; updateOrganizationDto.ProfilePictureStreamContent = new RemoteStreamContent(memoryStream, fileName: Organization.ProfilePictureFile.FileName, contentType: Organization.ProfilePictureFile.ContentType); } diff --git a/src/EventHub.Web/Pages/Organizations/New.cshtml.cs b/src/EventHub.Web/Pages/Organizations/New.cshtml.cs index c295b80..9ba0d68 100644 --- a/src/EventHub.Web/Pages/Organizations/New.cshtml.cs +++ b/src/EventHub.Web/Pages/Organizations/New.cshtml.cs @@ -43,7 +43,8 @@ namespace EventHub.Web.Pages.Organizations if (Organization.ProfilePictureFile != null && Organization.ProfilePictureFile.Length > 0) { await Organization.ProfilePictureFile.CopyToAsync(memoryStream); - + memoryStream.Position = 0; + createOrganizationDto.ProfilePictureStreamContent = new RemoteStreamContent(memoryStream, fileName: Organization.ProfilePictureFile.FileName, contentType: Organization.ProfilePictureFile.ContentType); }