Пример #1
0
        public ActionResult Create(Person person)
        {
            if (ModelState.IsValid)
            {
                person.Id = Guid.NewGuid();

                if (Session["files"] == null)
                {
                    Session["files"] = new List<UploadFileInfo>();
                }

                var filesStorage = Session["files"] as List<UploadFileInfo>;

                if (filesStorage != null)
                {
                    foreach (UploadFileInfo file in filesStorage)
                    {
                        var photo = new Photo {Id = Guid.NewGuid()};
                        person.Photos.Add(photo);
                        photo.FileName = file.ContentType;
                        photo.CaptureDate = DateTime.Now;

                        using (var fs = new FileStream(file.FileName, FileMode.Open))
                        {
                            photo.Data = new byte[fs.Length];
                            fs.Read(photo.Data, 0, (int) fs.Length);
                        }
                    }
                    filesStorage.Clear();
                }
                db.People.Add(person);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.EmployerId = new SelectList(db.Employers, "Id", "Name", person.EmployerId);
            ViewBag.OccupationId = new SelectList(db.Occupations, "Id", "Name", person.OccupationId);
            return View(person);
        }
Пример #2
0
        public ActionResult SaveFile(Person person, HttpPostedFileBase files)
        {
            string fileName = Path.GetTempFileName();
            if (Session["files"] == null)
            {
                Session["files"] = new List<UploadFileInfo>();
            }

            var filesStorage = (List<UploadFileInfo>) Session["files"];

            using (var fs = new FileStream(fileName, FileMode.Open))
            {
                var buffer = new byte[8*1024];
                int len;
                while ((len = files.InputStream.Read(buffer, 0, buffer.Length)) > 0)
                {
                    fs.Write(buffer, 0, len);
                }
            }

            filesStorage.Add(new UploadFileInfo {FileName = fileName, ContentType = files.ContentType});

            return Content("", "text/plain");
        }
Пример #3
0
 public ActionResult RemoveFile(Person person, IEnumerable<HttpPostedFileBase> files)
 {
     return Content("", "text/plain");
 }