public IActionResult CreateFileUpload(int id) { var courseDes = new FileModelViewModel { CourseId = id }; return(View(courseDes)); }
public async Task <ActionResult> MergeFile([FromForm] FileModelViewModel fileModelViewModel) { var lastModified = Path.Combine($"{Directory.GetCurrentDirectory()}/wwwroot/", "Chunk" + fileModelViewModel.FileName); var finalPath = Path.Combine($"{Directory.GetCurrentDirectory()}/wwwroot/", fileModelViewModel.FileName);//最终的文件名(demo中保存的是它上传时候的文件名,实际操作肯定不能这样) var mergeOk = await FileHelper.MergeFileAsync(lastModified, finalPath); if (mergeOk) { var newFile = _mapper.Map <FileModel>(fileModelViewModel); newFile.FilePath = finalPath; await _fileRepository.AddAsync(newFile); } return(Ok()); }
private string ProcessUploadedFile(FileModelViewModel model) { string uniqueFileName = null; if (model.FileName != null) { string uploadsFolder = Path.Combine(_env.WebRootPath, "images"); uniqueFileName = Guid.NewGuid().ToString() + "_" + model.FileName.FileName; string filePath = Path.Combine(uploadsFolder, uniqueFileName); using (var fileStream = new FileStream(filePath, FileMode.Create)) { model.FileName.CopyTo(fileStream); } } return(uniqueFileName); }
public async Task <IActionResult> CreateFileUpload(FileModelViewModel model, int id) { if (ModelState.IsValid) { string uniqueFileName = ProcessUploadedFile(model); var course = _context.Courses.FirstOrDefault(x => x.Id == id); var cd = new FileModel { Title = model.Title, dateTime = model.dateTime, FileName = uniqueFileName, Course = course }; _context.Add(cd); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(FileIndex))); } return(View(model)); }