Browse Source

Added asset size options.

pull/334/head
Sebastian Stehle 7 years ago
parent
commit
c0b7070c1a
  1. 2
      src/Squidex.Domain.Apps.Entities/Assets/AssetOptions.cs
  2. 14
      src/Squidex/Areas/Api/Controllers/Assets/AssetConfig.cs
  3. 10
      src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs
  4. 7
      src/Squidex/appsettings.json

2
src/Squidex.Domain.Apps.Entities/Assets/AssetOptions.cs

@ -10,5 +10,7 @@ namespace Squidex.Domain.Apps.Entities.Assets
public sealed class AssetOptions
{
public int MaxResults { get; set; } = 200;
public long MaxSize { get; set; } = 5 * 1024 * 1024;
}
}

14
src/Squidex/Areas/Api/Controllers/Assets/AssetConfig.cs

@ -1,14 +0,0 @@
// ==========================================================================
// Squidex Headless CMS
// ==========================================================================
// Copyright (c) Squidex UG (haftungsbeschränkt)
// All rights reserved. Licensed under the MIT license.
// ==========================================================================
namespace Squidex.Areas.Api.Controllers.Assets
{
public sealed class AssetConfig
{
public long MaxSize { get; set; } = 5 * 1024 * 1024;
}
}

10
src/Squidex/Areas/Api/Controllers/Assets/AssetsController.cs

@ -39,19 +39,19 @@ namespace Squidex.Areas.Api.Controllers.Assets
private readonly IAppPlansProvider appPlanProvider;
private readonly IOptions<MyContentsControllerOptions> controllerOptions;
private readonly ITagService tagService;
private readonly AssetConfig assetsConfig;
private readonly AssetOptions assetOptions;
public AssetsController(
ICommandBus commandBus,
IAssetQueryService assetQuery,
IAssetStatsRepository assetStatsRepository,
IAppPlansProvider appPlanProvider,
IOptions<AssetConfig> assetsConfig,
IOptions<AssetOptions> assetOptions,
IOptions<MyContentsControllerOptions> controllerOptions,
ITagService tagService)
: base(commandBus)
{
this.assetsConfig = assetsConfig.Value;
this.assetOptions = assetOptions.Value;
this.assetQuery = assetQuery;
this.assetStatsRepository = assetStatsRepository;
this.appPlanProvider = appPlanProvider;
@ -273,9 +273,9 @@ namespace Squidex.Areas.Api.Controllers.Assets
var formFile = file[0];
if (formFile.Length > assetsConfig.MaxSize)
if (formFile.Length > assetOptions.MaxSize)
{
var error = new ValidationError($"File size cannot be longer than {assetsConfig.MaxSize.ToReadableSize()}.");
var error = new ValidationError($"File size cannot be longer than {assetOptions.MaxSize.ToReadableSize()}.");
throw new ValidationException("Cannot create asset.", error);
}

7
src/Squidex/appsettings.json

@ -78,7 +78,12 @@
*
* Warning: Use pagination and not large number of items.
*/
"maxResults": 200
"maxResults": 200,
/*
* The maximum file size in bytes. Default: 5MB
*/
"maxSize": 5242880
},
"logging": {

Loading…
Cancel
Save