Browse Source

Update MediaDescriptorAdminAppService.

pull/9180/head
maliming 5 years ago
parent
commit
8f5a3ff2ab
  1. 23
      modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/MediaDescriptors/CreateMediaInputStream.cs
  2. 8
      modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs

23
modules/cms-kit/src/Volo.CmsKit.Admin.Application.Contracts/Volo/CmsKit/Admin/MediaDescriptors/CreateMediaInputStream.cs

@ -1,23 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.IO;
using Volo.Abp.Content;
using Volo.Abp.Validation;
using Volo.CmsKit.MediaDescriptors;
namespace Volo.CmsKit.Admin.MediaDescriptors
{
public class CreateMediaInputStream : RemoteStreamContent
{
[Required]
[DynamicStringLength(typeof(MediaDescriptorConsts), nameof(MediaDescriptorConsts.MaxEntityTypeLength))]
public string EntityType { get; set; }
[Required]
[DynamicStringLength(typeof(MediaDescriptorConsts), nameof(MediaDescriptorConsts.MaxNameLength))]
public string Name { get; set; }
public CreateMediaInputStream(Stream stream, string contentType) : base(stream, contentType)
{
}
}
}

8
modules/cms-kit/src/Volo.CmsKit.Admin.Application/Volo/CmsKit/Admin/MediaDescriptors/MediaDescriptorAdminAppService.cs

@ -18,7 +18,7 @@ namespace Volo.CmsKit.Admin.MediaDescriptors
public MediaDescriptorAdminAppService( public MediaDescriptorAdminAppService(
IBlobContainer<MediaContainer> mediaContainer, IBlobContainer<MediaContainer> mediaContainer,
IMediaDescriptorRepository mediaDescriptorRepository, IMediaDescriptorRepository mediaDescriptorRepository,
MediaDescriptorManager mediaDescriptorManager, MediaDescriptorManager mediaDescriptorManager,
IMediaDescriptorDefinitionStore mediaDescriptorDefinitionStore) IMediaDescriptorDefinitionStore mediaDescriptorDefinitionStore)
{ {
MediaContainer = mediaContainer; MediaContainer = mediaContainer;
@ -34,11 +34,11 @@ namespace Volo.CmsKit.Admin.MediaDescriptors
/* TODO: Shouldn't CreatePolicies be a dictionary and we check for inputStream.EntityType? */ /* TODO: Shouldn't CreatePolicies be a dictionary and we check for inputStream.EntityType? */
await CheckAnyOfPoliciesAsync(definition.CreatePolicies); await CheckAnyOfPoliciesAsync(definition.CreatePolicies);
using (var stream = inputStream.File.GetStream()) using (var file = inputStream.File)
{ {
var newEntity = await MediaDescriptorManager.CreateAsync(entityType, inputStream.Name, inputStream.File.ContentType, inputStream.File.ContentLength ?? 0); var newEntity = await MediaDescriptorManager.CreateAsync(entityType, inputStream.Name, inputStream.File.ContentType, inputStream.File.ContentLength ?? 0);
await MediaContainer.SaveAsync(newEntity.Id.ToString(), stream); await MediaContainer.SaveAsync(newEntity.Id.ToString(), file.GetStream());
await MediaDescriptorRepository.InsertAsync(newEntity); await MediaDescriptorRepository.InsertAsync(newEntity);
return ObjectMapper.Map<MediaDescriptor, MediaDescriptorDto>(newEntity); return ObjectMapper.Map<MediaDescriptor, MediaDescriptorDto>(newEntity);
@ -58,4 +58,4 @@ namespace Volo.CmsKit.Admin.MediaDescriptors
await MediaDescriptorRepository.DeleteAsync(id); await MediaDescriptorRepository.DeleteAsync(id);
} }
} }
} }

Loading…
Cancel
Save