Browse Source

Merge pull request #8204 from abpframework/liangshiwei/blob-database

Use sync API to download Blob
pull/8220/head
maliming 5 years ago
committed by GitHub
parent
commit
b31c1ef027
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/DatabaseBlob.cs
  2. 8
      modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/EfCoreDatabaseBlobRepository.cs

6
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.Domain/Volo/Abp/BlobStoring/Database/DatabaseBlob.cs

@ -1,5 +1,6 @@
using JetBrains.Annotations; using JetBrains.Annotations;
using System; using System;
using Volo.Abp.Auditing;
using Volo.Abp.Domain.Entities; using Volo.Abp.Domain.Entities;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
@ -13,6 +14,7 @@ namespace Volo.Abp.BlobStoring.Database
public virtual string Name { get; protected set; } public virtual string Name { get; protected set; }
[DisableAuditing]
public virtual byte[] Content { get; protected set; } public virtual byte[] Content { get; protected set; }
public DatabaseBlob(Guid id, Guid containerId, [NotNull] string name, [NotNull] byte[] content, Guid? tenantId = null) public DatabaseBlob(Guid id, Guid containerId, [NotNull] string name, [NotNull] byte[] content, Guid? tenantId = null)
@ -32,7 +34,7 @@ namespace Volo.Abp.BlobStoring.Database
protected virtual byte[] CheckContentLength(byte[] content) protected virtual byte[] CheckContentLength(byte[] content)
{ {
Check.NotNull(content, nameof(content)); Check.NotNull(content, nameof(content));
if (content.Length >= DatabaseBlobConsts.MaxContentLength) if (content.Length >= DatabaseBlobConsts.MaxContentLength)
{ {
throw new AbpException($"Blob content size cannot be more than {DatabaseBlobConsts.MaxContentLength} Bytes."); throw new AbpException($"Blob content size cannot be more than {DatabaseBlobConsts.MaxContentLength} Bytes.");
@ -41,4 +43,4 @@ namespace Volo.Abp.BlobStoring.Database
return content; return content;
} }
} }
} }

8
modules/blob-storing-database/src/Volo.Abp.BlobStoring.Database.EntityFrameworkCore/Volo/Abp/BlobStoring/Database/EntityFrameworkCore/EfCoreDatabaseBlobRepository.cs

@ -1,5 +1,6 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using System; using System;
using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
@ -20,10 +21,9 @@ namespace Volo.Abp.BlobStoring.Database.EntityFrameworkCore
string name, string name,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)
{ {
return await (await GetDbSetAsync()) return (await GetDbSetAsync())
.FirstOrDefaultAsync( .FirstOrDefault(
x => x.ContainerId == containerId && x.Name == name, x => x.ContainerId == containerId && x.Name == name
GetCancellationToken(cancellationToken)
); );
} }

Loading…
Cancel
Save