public async Task <IActionResult> InsertOrUpdateBookImage(ImageBookViewModel ViewModel) { if (ModelState.IsValid) { var Book = await _unitofwork.BaseRepository <Book>().FindByIDAsync(ViewModel.BookID); using (var memorySteam = new MemoryStream()) { string FileExtension = Path.GetExtension(ViewModel.Image.FileName); await ViewModel.Image.CopyToAsync(memorySteam); var types = FileExtentions.FileType.Image; bool result = FileExtentions.IsValidFile(memorySteam.ToArray(), types, FileExtension.Replace('.', ' ')); if (result) { Book.Image = memorySteam.ToArray(); await _unitofwork.Commit(); ViewModel.ImageByte = memorySteam.ToArray(); TempData["Notifications"] = "آپلود فایل با موفقیت انجام شد."; } else { ModelState.AddModelError("", "فایل تصویر کتاب نامعتبر است."); } } } return(PartialView("_InsertOrUpdateBookImage", ViewModel)); }
public async Task <UploadFileResult> UploadFileAsync(IFormFile file, string path) { string FileExtension = Path.GetExtension(file.FileName); var types = FileExtentions.FileType.PDF; bool result = true; using (var memory = new MemoryStream()) { await file.CopyToAsync(memory); result = FileExtentions.IsValidFile(memory.ToArray(), types, FileExtension.Replace('.', ' ')); if (result) { using (var stream = new FileStream(path, FileMode.Create)) { await file.CopyToAsync(stream); } return(new UploadFileResult(true, null)); } else { return(new UploadFileResult(false, new List <string>() { "فایل انتخاب شده معتبر نمی باشد." })); } } }
/// <summary> /// 显示打开文件对话框 /// </summary> /// <param name="caption">标题</param> /// <param name="fileName">文件名</param> /// <param name="fileFilters">文件过滤器</param> public static DialogReturn ShowSaveFileDialog(string caption, ref string fileName, params string[] fileFilters) { if (DefaultUserInterface == null) { Debug.WriteLine("ShowSaveFileDialog"); return(DialogReturn.None); } return(DefaultUserInterface.ShowFileDialog(false, caption, FileExtentions.BuildFileFilter(fileFilters), ref fileName)); }
public async Task <IActionResult> Download(int id) { var book = await _unitofwork.BaseRepository <Book>().FindByIDAsync(id); if (book == null) { return(NotFound()); } var Path = $"{_environment.WebRootPath}/BookFiles/{book.File}"; var memory = new MemoryStream(); using (var stream = new FileStream(Path, FileMode.Open)) { await stream.CopyToAsync(memory); } memory.Position = 0; return(File(memory, FileExtentions.GetContentType(Path), book.File)); }
public async Task <IActionResult> Download(int?id) { var Book = await _context.BookStors.FindAsync(id); if (Book == null) { return(Content("همچییین موجود نیست")); } else { if (Book.File == null) { return(Content("فایل موجود نیست")); } var path = $"{_evn.WebRootPath}/BookFile/{Book.File}"; var Memory = new MemoryStream(); using (var stream = new FileStream(path, FileMode.Open)) { await stream.CopyToAsync(Memory); } Memory.Position = 0; return(File(Memory, FileExtentions.GetContentType(path), Book.File)); } }
public async Task <bool> CreateBookAsync(BooksCreateEditViewModel ViewModel) { try { byte[] Image = null; if (!string.IsNullOrWhiteSpace(ViewModel.ImageBase64)) { Image = Convert.FromBase64String(ViewModel.ImageBase64); } List <Book_Translator> translators = new List <Book_Translator>(); List <Book_Category> categories = new List <Book_Category>(); if (ViewModel.TranslatorID != null) { translators = ViewModel.TranslatorID.Select(a => new Book_Translator { TranslatorID = a }).ToList(); } if (ViewModel.CategoryID != null) { categories = ViewModel.CategoryID.Select(a => new Book_Category { CategoryID = a }).ToList(); } DateTime?PublishDate = null; if (ViewModel.IsPublish == true) { PublishDate = DateTime.Now; } Book book = new Book() { ISBN = ViewModel.ISBN, IsPublish = ViewModel.IsPublish, NumOfPages = ViewModel.NumOfPages, Stock = ViewModel.Stock, Price = ViewModel.Price, LanguageID = ViewModel.LanguageID, Summary = ViewModel.Summary, Title = ViewModel.Title, Image = Image, PublishYear = ViewModel.PublishYear, PublishDate = PublishDate, Weight = ViewModel.Weight, PublisherID = ViewModel.PublisherID, Author_Books = ViewModel.AuthorID.Select(a => new Author_Book { AuthorID = a }).ToList(), book_Tranlators = translators, book_Categories = categories, File = ViewModel.FileName, }; if (ViewModel.Image != null) { using (var memorySteam = new MemoryStream()) { string FileExtension = Path.GetExtension(ViewModel.Image.FileName); await ViewModel.Image.CopyToAsync(memorySteam); var types = FileExtentions.FileType.Image; bool result = FileExtentions.IsValidFile(memorySteam.ToArray(), types, FileExtension.Replace('.', ' ')); if (result) { book.Image = memorySteam.ToArray(); } } } await _UW.BaseRepository <Book>().CreateAsync(book); await _UW.Commit(); return(true); } catch { return(false); } }