public ActionResult DownloadFile(string fileId, string fileName) { try { using (var db = new KiaGalleryFileContext()) { var file = db.File.Single(x => x.Id == fileId && x.FileName == fileName); return(File(file.Data, file.MimeType, file.FileName)); } } catch (Exception ex) { Core.SaveException(ex); return(null); } }
public JsonResult Save(MarquisFileViewModel model) { Response response; try { if (model.branchId == 0) { response = new Response() { status = 500, message = "انتخاب شعبه مورد نظر اجباری است." }; } //else if (string.IsNullOrEmpty(model.persianDate) || DateUtility.GetDateTime(model.persianDate) == null) //{ // response = new Response() { status = 500, message = "تاریخ وارد شده صحیح نیست." }; //} else if (Request.Files.Count == 0 || Request.Files.Count % 2 != 0) { response = new Response() { status = 500, message = "تعداد فایل های وارد شده صحیح نیست." }; } else if (Request.Files.AllKeys.Count(x => !x.ToLower().StartsWith("dt") || !x.ToLower().StartsWith("img")) == 0) { response = new Response() { status = 500, message = "نام فایل های وارد شده صحیح نیست." }; } else { var currentUser = GetAuthenticatedUser(); var file = new MarquisFile() { BranchId = model.branchId, Date = DateTime.Today, //DateUtility.GetDateTime(model.persianDate).Value, Description = model.description, CreateUserId = currentUser.Id, ModifyUserId = currentUser.Id, CreateDate = DateTime.Now, ModifyDate = DateTime.Now, Ip = Request.UserHostAddress }; List <MarquisFileDetail> detailList = new List <MarquisFileDetail>(); var files = Request.Files .Cast <string>() .Select(k => Request.Files[k]) .ToArray(); for (int i = 0; i < Request.Files.Count; i++) { HttpPostedFileBase item = Request.Files[i]; byte[] fileData = null; using (var binaryReader = new BinaryReader(item.InputStream)) { fileData = binaryReader.ReadBytes(item.ContentLength); } using (var db = new KiaGalleryFileContext()) { var fileEntity = new Model.FileContext.Entity.File() { Id = StringUtility.RandomString(32), FileName = item.FileName, Extention = Path.GetExtension(item.FileName), MimeType = MimeMapping.GetMimeMapping(item.FileName), Length = fileData.Length, Data = fileData, StatusId = FileStatus.Verify.Id, CreateUserId = currentUser.Id, CreateDate = DateTime.Now, CreateIp = Request.UserHostAddress }; db.File.Add(fileEntity); db.SaveChanges(); detailList.Add(new MarquisFileDetail() { MarquisFile = file, FileId = fileEntity.Id, FileName = fileEntity.FileName }); }; } using (var db = new KiaGalleryContext()) { db.MarquisFile.Add(file); db.MarquisFileDetail.AddRange(detailList); db.SaveChanges(); } response = new Response() { status = 200, message = "اطلاعات با موفقیت ذخیره شد." }; } } catch (Exception ex) { response = Core.GetExceptionResponse(ex); } return(Json(response, JsonRequestBehavior.AllowGet)); }