Пример #1
0
        public async Task CreateFileAsync(AppFile appFile, IFormFile uploadedFile, ModelStateDictionary modelState)
        {
            if (uploadedFile == null)
            {
                modelState.AddModelError("UploadedFileIsNull", "Загружаемый файл не найден");
            }

            if (uploadedFile.Length == 0)
            {
                modelState.AddModelError("UploadedFileIsEmpty", "Загружаемый файл пустой");
            }

            if (uploadedFile.Length > 1048576)
            {
                modelState.AddModelError("UploadedFileToLarge", "Загружаемый файл слишком большой");
            }

            if (uploadedFile.ContentType.ToLower() != "image/jpeg")
            {
                modelState.AddModelError("UploadedFileNotJpeg", "Загружаемый файл не jpeg");
            }

            if (modelState.IsValid)
            {
                string fileName = $"{appFile.Id}_{appFile.Name}";

                using (var fileStream = new FileStream(GetFilePath(appFile), FileMode.Create))
                {
                    await uploadedFile.CopyToAsync(fileStream);
                }

                CreateThumbnail(GetFilePath(appFile), GetThumbnailPath(appFile));
            }
        }
Пример #2
0
 public string GetThumbnailPath(AppFile appFile) =>
 $"{AppFileOptions.RootPath}\\{appFile.TenantId}\\{AppFileOptions.ThumbnailsPath}\\{appFile.Id}_{appFile.Name}";
Пример #3
0
 public string GetFilePath(AppFile appFile) =>
 $"{AppFileOptions.RootPath}\\{appFile.TenantId}\\{AppFileOptions.FilesPath}\\{appFile.Id}_{appFile.Name}";