コード例 #1
0
        public ActionResult Export(string fileId)
        {
            LopocaFile file = fileManager.FindFileBy(fileId);

            var userId = System.Web.HttpContext.Current.User.Identity.GetUserId();

            //set history record with status type "Open"
            fileManager.AddHistory(file.Id, userId);

            return(Content(fileId));
        }
コード例 #2
0
        public ActionResult Download(string fileId)
        {
            if (String.IsNullOrEmpty(fileId))
            {
                return(Content("Empty file name."));
            }
            LopocaFile file = fileManager.FindFileBy(fileId);

            if (file == null)
            {
                return(Content("The file not exists."));
            }

            string filepath    = Server.MapPath(file.Path);
            string contentType = MimeMapping.GetMimeMapping(filepath);

            return(File(filepath, contentType, file.Name));
        }
コード例 #3
0
        public ActionResult Upload(UploadViewModel model)
        {
            if (ModelState.IsValid)
            {
                var userId = System.Web.HttpContext.Current.User.Identity.GetUserId();

                if (model.File != null && model.File.ContentLength > 0)
                {
                    model.FileId   = Guid.NewGuid();
                    model.UserId   = userId;
                    model.FileName = Path.GetFileNameWithoutExtension(model.File.FileName);
                    model.FullPath = "~/Data/" + model.FileId + Path.GetExtension(model.File.FileName);

                    LopocaFile file = new LopocaFile
                    {
                        Id     = model.FileId,
                        UserId = model.UserId,
                        Name   = model.FileName,
                        Path   = model.FullPath,
                    };
                    try
                    {
                        model.File.SaveAs(Server.MapPath(model.FullPath));
                        fileManager.Upload(file);
                    }
                    catch (Exception ex)
                    {
                        ModelState.AddModelError("", ex.Message);
                        return(View("Index", model));
                    }
                }
                return(RedirectToAction("List"));
            }
            else
            {
                return(View("Index", model));
            }
        }