public async Task <IActionResult> AddFile([FromForm] FileForAddDto fileForAddDto) { var file = fileForAddDto.File; fileForAddDto.TypeId = 2; var fileToCreate = _mapper.Map <File>(fileForAddDto); _repo.Add(fileToCreate); await _repo.SaveAll(); int idOfFileAdded = _repo.GetFileMaxID(); if (file != null) { string newFileName = idOfFileAdded + "_" + file.FileName; string path = Path.Combine(_hostingEnv.ContentRootPath, "Upload/File", newFileName); using (var stream = new FileStream(path, FileMode.Create)) { file.CopyTo(stream); fileForAddDto.Url = newFileName; fileToCreate.Url = fileForAddDto.Url; //_data.Entry(fileForAddDto).Property(x => x.Image).IsModified = true; var fileFromRepo1 = await _repo.GetFile(idOfFileAdded); _mapper.Map(fileToCreate, fileFromRepo1); await _repo.SaveAll(); } } fileToCreate.Url = BaseURL.GetBaseUrl(Request) + "/Upload/File/" + fileForAddDto.Url; return(CreatedAtRoute("GetFile", new { id = idOfFileAdded }, fileToCreate)); }
public async Task <IActionResult> AddFile(FileForAddDto fileForAddDto) { if (await _repo.FileExists(fileForAddDto.FileName, fileForAddDto.FileManagerAdminId, fileForAddDto.NodeId)) { return(BadRequest("File already exists for folder")); } var fileToAdd = _mapper.Map <File>(fileForAddDto); var createdFile = await _repo.AddFile(fileToAdd); var fileToReturn = _mapper.Map <FileForListDto>(createdFile); return(CreatedAtRoute("GetFile", new { controller = "Files", id = createdFile.Id }, fileToReturn)); }
public async Task <IActionResult> AddFile(int fmAdminId, int nodeId, [FromForm] FileForAddDto fileForAddDto) { //FileForAddDto fileForAddDto = new FileForAddDto(){FileManagerAdminId = fmAdminId, NodeId = nodeId}; var myFile = fileForAddDto.File; fileForAddDto.FileManagerAdminId = fmAdminId; fileForAddDto.NodeId = nodeId; if (await _repo.FileExists(fileForAddDto.FileName, fileForAddDto.FileManagerAdminId, fileForAddDto.NodeId)) { return(BadRequest("File already exists for folder")); } if (myFile != null) { fileForAddDto.FileName = myFile.FileName; fileForAddDto.Ext = Path.GetExtension(myFile.FileName); fileForAddDto.Size = myFile.Length; string myGuid = Guid.NewGuid().ToString(); string _imageName = myGuid + "-" + Path.GetExtension(myFile.FileName); CloudBlockBlob blob = azureContainer.GetBlockBlobReference(_imageName); blob.Properties.ContentType = myFile.ContentType; fileForAddDto.StorageId = _imageName; fileForAddDto.Url = blob.Uri.ToString(); if (myFile.Length > 0) { using (var stream = myFile.OpenReadStream()) { await blob.UploadFromStreamAsync(stream); } } } var fileToAdd = _mapper.Map <FileManager.API.Models.File>(fileForAddDto); var createdFile = await _repo.AddFile(fileToAdd); var fileToReturn = _mapper.Map <FileForListDto>(createdFile); return(CreatedAtRoute("GetFile", new { controller = "Files", id = createdFile.Id }, fileToReturn)); }
public async Task <IActionResult> AddAudio([FromForm] FileForAddDto fileForAddDto) { var file = fileForAddDto.File; fileForAddDto.TypeId = 1; var fileToCreate = _mapper.Map <File>(fileForAddDto); _repo.Add(fileToCreate); await _repo.SaveAll(); if (file != null) { string newFileName = fileToCreate.Id + "_" + file.FileName; string path = Path.Combine(_hostingEnv.ContentRootPath, "Upload/Audio", newFileName); using (var stream = new FileStream(path, FileMode.Create)) { file.CopyTo(stream); fileForAddDto.Url = newFileName; fileToCreate.Url = fileForAddDto.Url; //_data.Entry(fileForAddDto).Property(x => x.Image).IsModified = true; var fileFromRepo1 = await _repo.GetFile(fileToCreate.Id); _mapper.Map(fileToCreate, fileFromRepo1); await _repo.SaveAll(); } } fileToCreate.Url = BaseURL.GetBaseUrl(Request) + "/Upload/Audio/" + fileForAddDto.Url; // var uploadResult = new VideoUploadResult(); // if (file.Length > 0) // { // using (var stream = file.OpenReadStream()) // { // var uploadParams = new VideoUploadParams() // { // File = new FileDescription(file.Name, stream), // }; // uploadResult = _cloudinary.Upload(uploadParams); // } // } // fileForAddDto.Url = uploadResult.Uri.ToString(); // fileForAddDto.PublicId = uploadResult.PublicId; // fileForAddDto.Duration = uploadResult.Duration; // fileForAddDto.ItemId = 1; // var data = _mapper.Map<File>(fileForAddDto); // _repo.Add(data); // if (await _repo.SaveAll()) // { // var photoToReturn = _mapper.Map<File>(data); // return CreatedAtRoute("GetFile", new { id = data.Id }, photoToReturn); // } // return BadRequest("Could not add the photo"); return(CreatedAtRoute("GetFile", new { id = fileToCreate.Id }, fileToCreate)); }