public IActionResult CreateFileUpload(int id)
        {
            var courseDes = new FileModelViewModel
            {
                CourseId = id
            };

            return(View(courseDes));
        }
示例#2
0
        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));
        }