public void TestFileAllowed() { var fls = new FileLoading(); fls.AcceptedFileTypes = new string[] { ".pdf", ".jpg", ".jpeg" }; Assert.False(fls.isAcceptedFileType("SomeFile.xml")); Assert.True(fls.isAcceptedFileType("AnotherFile.jpg")); }
public async Task <IActionResult> AddFile(int userId, IFormFile file) { var user = await _userRepo.Get(userId); if (user == null) { return(NotFound($"User with id = {userId} not found.")); } if (file is null) { return(BadRequest("Null file.")); } if (file.Length == 0) { return(BadRequest("Empty file.")); } if (_flSettings.MaxBytes < file.Length) { return(BadRequest($"File is too long. Max allowed length is {_flSettings.MaxBytes}.")); } if (!_flSettings.isAcceptedFileType(file.FileName)) { return(BadRequest($"This file type is not allowed. Allowed extensions are: {_flSettings.AcctptedFileTypesAsString}")); } var(path, size) = await SaveAndGetRelativePath(userId, file); var newFile = new MFile { UserId = userId, Name = file.FileName, Size = size, UploadPath = path, UploadDate = DateTime.UtcNow }; await _repository.Add(newFile); await _unitOfWork.Complete(); var result = _mapper.Map <MFile, FileResource>(newFile); result.User = _mapper.Map <User, UserResource>(user); return(Ok(result)); }