public IActionResult CreateFile([FromForm] InsertFileRequest request) { if (request.File == null) { return(BadRequest("Отсутствует файл в запросе")); } var folder = _folderRepo.FirstOrDefault(f => f.Id == request.FolderId); if (folder == null) { return(BadRequest("Указанная папка не существует")); } if (_fileRepo.Any(f => f.FileName == request.File.FileName && f.Folder.Id == request.FolderId)) { return(BadRequest("В данной папке уже существует файл с таким именем")); } var newFile = new File { FileName = request.File.FileName, Folder = folder, FilePath = DiskHelper.SaveToPC(request.File, _folderService.GetFullPath(request.FolderId)) }; _fileRepo.Add(newFile); _db.SaveChanges(); return(CreatedAtAction(nameof(GetFile), routeValues: new { fileId = newFile.Id }, newFile.Id)); }
private void TryAssembleFile(ResumableConfiguration configuration) { if (AllChunksAreHere(configuration)) { // Create a single file var path = ConsolidateFile(configuration); var extension = configuration.FileName.Split('.'); var fileName = Guid.NewGuid(); // Rename consolidated with original name of upload RenameFile(path, Path.Combine(root, fileName.ToString() + (extension.Length > 1 ? "." + extension[extension.Length - 1] : ""))); // Delete chunk files DeleteChunks(configuration); var request = new InsertFileRequest() { CreatedDate = DateTime.Now, IdUser = int.Parse(User.GetUserId()), Name = configuration.FileName, Size = configuration.Size, NomeInterno = fileName }; JsonConvert.DeserializeObject <InsertFileResponse> (ServiceApiUtil.ApiResponse("api/file/Insert", "POST", request)); } }
public async Task <HttpResponseMessage> Insert(InsertFileRequest request) { try { var response = _serviceFile.InsertFile(request); return(await ResponseAsync(response, _serviceFile)); } catch (Exception ex) { return(await ResponseExceptionAsync(ex)); } }
public SessionCreationStatusResponse StartSession([FromRoute] long userId, [FromForm] CreateSessionParams sessionParams) { InsertFileRequest request = new InsertFileRequest() { CreatedDate = DateTime.Now, IdUser = 1, Name = "Teste", Size = 12213 }; var response = _serviceFile.InsertFile(request); Session session = uploadService.CreateSession(userId, sessionParams.FileName, sessionParams.ChunkSize.Value, sessionParams.TotalSize.Value); return(SessionCreationStatusResponse.fromSession(session)); }
public InsertFileResponse InsertFile(InsertFileRequest request) { File file = null; if (request == null) { AddNotification("InsertFileRequest", "Request is required."); } else { file = new File(request.Name, request.Size, request.IdUser, request.CreatedDate, request.NomeInterno); file = _repositoryFile.Insert(file); } AddNotifications(file); if (IsInvalid()) { return(null); } return((InsertFileResponse)file); }