public async Task <ActionResult> Create(ImageEditViewModel model)
        {
            if (DoesCodeAlreadyExist(model.Image))
            {
                ModelState.AddModelError("Image.ImageCode", ImageStrings.CodeAlreadyExists);
            }

            if (ModelState.IsValid)
            {
                if (model.ImageUpload != null)
                {
                    var fileName = Guid.NewGuid().ToString();
                    var path     = Server.MapPath("~/Public/Images/");

                    FileUploadHelper.GenerateVersions(model.ImageUpload.InputStream, path + fileName);

                    model.Image.ImageUrl = fileName;
                }

                model.Image.Keywords =
                    db.Set <Keyword>()
                    .Where(kw => model.KeywordIds.Contains(kw.Id))
                    .ToList();

                db.Add(model.Image);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            model.PopulateDropDownLists(db.Set <Document>(), db.Set <Classification>(), db.Set <Keyword>());

            return(View(model));
        }
 public SystemController(ISystemService systemService, FileUploadHelper fileUploadHelper, MvcHelper mvcHelper, SystemConfigModel configModel)
 {
     _systemService    = systemService;
     _fileUploadHelper = fileUploadHelper;
     _mvcHelper        = mvcHelper;
     _configModel      = configModel;
 }
Exemplo n.º 3
0
        /// <summary>
        /// Fills the page.
        /// </summary>
        /// <param name="element">The element.</param>
        /// <param name="data">The data.</param>
        private void FillPage(IWebElement element, string data)
        {
            // Respect the data control interface first.
            // ReSharper disable once SuspiciousTypeConversion.Global
            var dataControlElement = element as IDataControl;

            if (dataControlElement != null)
            {
                dataControlElement.SetValue(data);
                return;
            }

            var tagName = element.TagName.ToLowerInvariant().Trim();

            switch (tagName)
            {
            case "select":
                var selectElement = new SelectElement(element);
                if (selectElement.IsMultiple)
                {
                    selectElement.DeselectAll();
                }

                selectElement.SelectByText(data);
                break;

            case "input":
                // Special case for a checkbox control
                var inputType = element.GetAttribute("type");
                if (string.Equals("checkbox", inputType, StringComparison.OrdinalIgnoreCase))
                {
                    bool checkValue;
                    if (bool.TryParse(data, out checkValue) && element.Selected != checkValue)
                    {
                        new SeleniumPage(element, this.webDriver).ClickElement(element);
                    }

                    return;
                }

                if (string.Equals("radio", inputType, StringComparison.OrdinalIgnoreCase))
                {
                    // Need to click twice to select the element.
                    new SeleniumPage(element, this.webDriver).ClickElement(element, 2);
                    return;
                }

                if (string.Equals("file", inputType, StringComparison.OrdinalIgnoreCase))
                {
                    FileUploadHelper.UploadFile(data, element.SendKeys);
                    return;
                }

                goto default;

            default:
                element.SendKeys(data);
                break;
            }
        }
Exemplo n.º 4
0
 public AttachmentController(IAttachmentService service, ILoginInfo loginInfo, FileUploadHelper fileUploadHelper, IOptionsMonitor <ModuleCommonOptions> iOptionsMonitor)
 {
     _service             = service;
     _loginInfo           = loginInfo;
     _fileUploadHelper    = fileUploadHelper;
     _moduleCommonOptions = iOptionsMonitor.CurrentValue;
 }
Exemplo n.º 5
0
        public async Task <SpecialistWork> AddWork(int specialistId, IFormFile file, string description)
        {
            var works = context.SpecialistWorks.Where(m => m.SpecialistId == specialistId);

            if (works.Count() >= 10)
            {
                return(null);
            }

            var imagePath = await FileUploadHelper.UploadAsync(file, ImageOwnerEnum.Specialist);

            if (imagePath == string.Empty)
            {
                return(null);
            }

            var specialistWork = new SpecialistWork {
                SpecialistId = specialistId, ImagePath = imagePath, Description = description
            };
            var result = await context.SpecialistWorks.AddAsync(specialistWork);

            await context.SaveChangesAsync();

            return(result.Entity);
        }
Exemplo n.º 6
0
        public async Task <IActionResult> Edit(int id, [Bind("Id,Title,ImageUrl,Price,Description,CategoryId")] Product product, IFormFile Image)
        {
            if (id != product.Id)
            {
                return(NotFound());
            }

            var path = await FileUploadHelper.UploadAsync(Image);

            product.ImageUrl = path;

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(product);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ProductExists(product.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["CategoryId"] = new SelectList(_context.Categories, "Id", "Title", product.CategoryId);
            return(View(product));
        }
Exemplo n.º 7
0
 public ConfigController(IConfigService service, FileUploadHelper fileUploadHelper, IConfigProvider configProvider, IConfigCollection configCollection)
 {
     _service          = service;
     _fileUploadHelper = fileUploadHelper;
     _configProvider   = configProvider;
     _configCollection = configCollection;
 }
Exemplo n.º 8
0
        /// <summary>
        /// 检测文件是否符合要求
        /// </summary>
        /// <param name="oFile"></param>
        /// <param name="iMaxSize"></param>
        /// <returns></returns>
        protected string CheckFile(string filename, int contentlength)
        {
            string err = "";

            if (contentlength == 0)
            {
                err = "无数据提交";
            }
            else
            if (MaxSize != 0 && MaxSize < contentlength / 1024)
            {
                if (MaxSize > 1024)
                {
                    err = "文件大小限制为" + (MaxSize / 1024) + "MB以内";
                }
                else
                {
                    err = "文件大小限制为" + MaxSize + "KB以内";
                }
            }
            else
            {
                if (!FileUploadHelper.CheckFileExt(filename, _sAllowType))
                {
                    err = "上传文件扩展名必需为:" + _sAllowType;
                }
            }
            return(err);
        }
        public async Task <IActionResult> Edit(Post post, IFormFile uploadImg, string url)
        {
            try
            {
                string path = null;
                if (uploadImg != null)
                {
                    path = await FileUploadHelper.UploadFile(uploadImg);

                    post.ImageUrl = path;
                }
                else if (post.ImageUrl != url)
                {
                    var pathUrl = await ImageLoader.DownloadFile(url);

                    post.ImageUrl = pathUrl;
                }
                post.Date = DateTime.Now;
                await postService.UpdatePostAsync(post);

                return(RedirectToAction("Index"));
            }
            catch (Exception)
            {
                TempData["LinkError"] = "Invalid link";
            }
            return(View());
        }
Exemplo n.º 10
0
        public IHttpActionResult GetPreviewLinkInfo(string businessId)
        {
            var finder = PreviewRelationOperator.Instance.GetModel(businessId);

            finder.DocumentLength = FileUploadHelper.GetContentLength(finder.DocumentByteLength);
            return(BizResult(finder));
        }
Exemplo n.º 11
0
        public string CommonGetPreviewLinkToken(string attachmentId)
        {
            return(null);

            var attachment = AttachmentOperator.Instance.GetModel(attachmentId);
            //如果当前文件是v1版并且当前使用的文件平台为v2版 则提交预览流
            var stream = FileUploadHelper.DownLoadFileStream(attachment.AttachmentPath, attachment.IsUseV1).ToStream();

            var accessToken     = "";
            var previewRelation = new PreviewRelation();

            previewRelation.BusinessID = attachmentId;
            previewRelation.CreateDate = DateTime.Now;
            var currentUser = WebHelper.GetCurrentUser();;

            previewRelation.CreatorLoginName = currentUser.LoginName;
            previewRelation.CreatorName      = currentUser.CNName;
            previewRelation.ID = Guid.NewGuid().ToString();
            previewRelation.DocumentByteLength = stream.Length;
            previewRelation.DocumentFileCode   = attachment.AttachmentPath;
            previewRelation.DocumentFileName   = attachment.Name;
            var link = OWAHelper.Instance.GetDocumentLink(attachment.Name, previewRelation.ID, out accessToken);

            previewRelation.AccessToken  = accessToken;
            previewRelation.DocumentLink = link;
            PreviewRelationOperator.Instance.AddModel(previewRelation);
            return(previewRelation.ID);
        }
Exemplo n.º 12
0
        public async Task <IActionResult> Edit(long id, [FromForm] ArtistViewModel artist)
        {
            if (id != artist.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                if (artist.formFile != null)
                {
                    //delete old photo
                    var oldPhoto = artist.PhotoName;
                    await _s3Client.DeleteObjectNonVersionedBucketAsync(oldPhoto);

                    //var uploads = Path.Combine(_hostingEnvironment.WebRootPath, "uploads");
                    FileUploadHelper objFile  = new FileUploadHelper();
                    string           fileName = objFile.GetFileName(artist.formFile, true);
                    await _s3Client.UploadFileAsync(artist.formFile.OpenReadStream(), fileName);

                    artist.PhotoName = fileName;
                }
                if (artist.Alive)
                {
                    artist.DeathDate = null;
                }

                await _culturalClient.Update <ArtistViewModel>(artist, id, Route);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(artist));
        }
Exemplo n.º 13
0
 public AttachmentController(IAttachmentService service, ILoginInfo loginInfo, FileUploadHelper fileUploadHelper, IConfigProvider configProvider)
 {
     _service          = service;
     _loginInfo        = loginInfo;
     _fileUploadHelper = fileUploadHelper;
     _configProvider   = configProvider;
 }
Exemplo n.º 14
0
 public AttachmentController(IAttachmentService service, ILoginInfo loginInfo, FileUploadHelper fileUploadHelper, ModuleCommonOptions moduleCommonOptions)
 {
     _service             = service;
     _loginInfo           = loginInfo;
     _fileUploadHelper    = fileUploadHelper;
     _moduleCommonOptions = moduleCommonOptions;
 }
Exemplo n.º 15
0
 public SystemController(ISystemService systemService, IOptionsMonitor <ModuleCommonOptions> optionsMonitor, FileUploadHelper fileUploadHelper, MvcHelper mvcHelper)
 {
     _systemService    = systemService;
     _fileUploadHelper = fileUploadHelper;
     _mvcHelper        = mvcHelper;
     _options          = optionsMonitor.CurrentValue;
 }
Exemplo n.º 16
0
 public FileController(IFileStorageProvider fileStorageProvider, IConfigProvider configProvider,
                       FileUploadHelper fileUploadHelper)
 {
     _fileStorageProvider = fileStorageProvider;
     _configProvider      = configProvider;
     _fileUploadHelper    = fileUploadHelper;
 }
Exemplo n.º 17
0
        public async Task <ActionResult> UpLoadAndProcessFile()
        {
            string id         = System.Guid.NewGuid().ToString();
            string _extension = string.Empty;

            if (!MultipartRequestHelper.IsMultipartContentType(Request.ContentType))
            {
                ModelState.AddModelError("File", "非法请求或请求的格式不正确.");
                return(BadRequest(ModelState));
            }
            MediaTypeHeaderValue headerValue = MediaTypeHeaderValue.Parse(Request.ContentType);
            var boundary = MultipartRequestHelper.GetBoundary(headerValue, 2097152);

            if (string.IsNullOrEmpty(boundary))
            {
                ModelState.AddModelError("ContentType", "Missing content-type boundary.");
                return(BadRequest(ModelState));
            }

            var reader  = new MultipartReader(boundary, HttpContext.Request.Body);
            var section = await reader.ReadNextSectionAsync();

            while (section != null)
            {
                var hasContentDispositionHeader = ContentDispositionHeaderValue.TryParse(section.ContentDisposition, out var contentDisposition);
                if (hasContentDispositionHeader)
                {
                    if (MultipartRequestHelper.HasFileContentDisposition(contentDisposition))
                    {
                        //var untrustedFileNameForStorage = string.Empty;
                        var trustedFileNameForDisplay = string.Empty;
                        //untrustedFileNameForStorage = contentDisposition.FileName.Value;
                        trustedFileNameForDisplay = WebUtility.HtmlEncode(contentDisposition.FileName.Value);
                        _extension = Path.GetExtension(trustedFileNameForDisplay);
                        var streamContent = await FileUploadHelper.ProcessStreamFile(section, contentDisposition, ModelState, 2097152);

                        if (!ModelState.IsValid)
                        {
                            return(BadRequest(ModelState));
                        }
                        string zipFilePath          = $"jmx/{id}{_extension}";
                        string extractDirectoryPath = $"jmx/{id}";
                        using (var targetStream = System.IO.File.Create(zipFilePath))
                        {
                            await targetStream.WriteAsync(streamContent);
                        }
                        bool extract = await FileOperaHelper.ExtractToDirectory(zipFilePath, extractDirectoryPath, true);

                        if (!extract)
                        {
                            ModelState.AddModelError("message", "文件解压失败");
                            return(BadRequest(ModelState));
                        }
                    }
                }

                section = await reader.ReadNextSectionAsync();
            }
            return(Ok(new { code = "1", message = "上传成功", path = $"jmx/{id}{_extension}" }));
        }
        public ActionResult Create([Bind(Include = "ProjectId,TicketTypeId,TicketPriorityId,Title,Description")] Ticket ticket, HttpPostedFileBase[] files)
        {
            if (ModelState.IsValid)
            {
                List <Tuple <string, string, string> > fileUploadResult = FileUploadHelper.UploadMultipleFiles(files);
                foreach (Tuple <string, string, string> upload in fileUploadResult)
                {
                    TicketAttachment ticketAttachment = new TicketAttachment();
                    ticketAttachment.Title         = upload.Item1;
                    ticketAttachment.AttachmentUrl = upload.Item2;
                    ticketAttachment.Description   = upload.Item3;
                    ticketAttachment.Created       = DateTime.Now;
                    ticketAttachment.UserId        = User.Identity.GetUserId();
                    db.TicketAttachments.Add(ticketAttachment);
                    ticket.TicketAttachments.Add(ticketAttachment);
                    HistoryHelper.AnyAttachment(ticket, ticketAttachment, true);
                }
                ticket.TicketStatusId = db.TicketStatuses.FirstOrDefault(t => t.Name == "New/UnAssigned").Id;
                ticket.OwnerUserId    = User.Identity.GetUserId();
                ticket.Created        = DateTime.Now;
                db.Tickets.Add(ticket);
                db.SaveChanges();
                HistoryHelper.AnyCreated(ticket);
                return(RedirectToAction("MyIndex"));
            }

            ViewBag.OwnerUserId      = new SelectList(db.Users, "Id", "FirstName", ticket.OwnerUserId);
            ViewBag.ProjectId        = new SelectList(db.Projects, "Id", "Name", ticket.ProjectId);
            ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId);
            //ViewBag.TicketStatusId = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId);
            ViewBag.TicketTypeId = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId);
            return(View(ticket));
        }
Exemplo n.º 19
0
        public PostController(
            IPostService postService,
            PostViewModelProvider postViewModelProvider,
            CategoryViewModelProvider categoryViewModelProvider,
            IOptionsSnapshot <BehlogSetting> setting,
            FileUploadHelper fileUploader,
            ITagService tagService
            )
        {
            postService.CheckArgumentIsNull();
            _postService = postService;

            postViewModelProvider.CheckArgumentIsNull();
            _postViewModelProvider = postViewModelProvider;

            categoryViewModelProvider.CheckArgumentIsNull();
            _categoryViewModelProvider = categoryViewModelProvider;

            setting.CheckArgumentIsNull();
            _setting = setting;

            fileUploader.CheckArgumentIsNull();
            _fileUploader = fileUploader;

            tagService.CheckArgumentIsNull(nameof(tagService));
            _tagService = tagService;
        }
Exemplo n.º 20
0
        public ActionResult Create([Bind(Include = "TicketId,Body,TicketAttachments")] TicketComment ticketComment, TicketAttachment ticketAttach, HttpPostedFileBase filePath)
        {
            if (ModelState.IsValid)
            {
                if (filePath != null)
                {
                    if (FileUploadHelper.IsWebFriendlyImage(filePath))
                    {
                        var fileName = Path.GetFileName(filePath.FileName);
                        fileName = fileName.Replace(' ', '_');
                        filePath.SaveAs(Path.Combine(Server.MapPath("~/Uploads/"), fileName));
                        ticketAttach.FilePath = "/Uploads/" + fileName; //assiging value of ticketAttach.FilePath to incomeing upload

                        ticketAttach.UploadDate = DateTime.Now;
                        ticketAttach.UserId     = User.Identity.GetUserId(); //property of this specific attachment is on left ...the right side of the = is what i am assigning to the property
                        db.Attachments.Add(ticketAttach);
                    }
                }


                ticketComment.CommentAttachment = ticketAttach.FilePath;     //ticketComment. COmmentAttachment = to the ticketAttach.FilePath
                ticketComment.OwnerId           = User.Identity.GetUserId(); //sending user id to DB
                ticketComment.CreatedDate       = DateTime.Now;              //sending current DATETIME to DB
                db.Comments.Add(ticketComment);
                db.SaveChanges();
                return(RedirectToAction("Details", "Tickets", new { id = ticketComment.TicketId })); // to go details page of whatever you want you need its ID.  Details action requires ID.  give it to it so it doesnt blow up.  object route value
            }


            ViewBag.OwnerId  = new SelectList(db.Users, "Id", "FirstName", ticketComment.OwnerId);
            ViewBag.TicketId = new SelectList(db.Tickets, "Id", "Title", ticketComment.TicketId);
            return(View(ticketComment));
        }
Exemplo n.º 21
0
        [RequestSizeLimit(31457280)] //30 MB for now, change it later based on the size of the pixel art's data consumption.
        public async Task <IActionResult> Add(PixelArt p)
        {
            IFormFile Pixel = p.PixelArtPhoto;


            if (FileUploadHelper.IsFileEmpty(Pixel))
            {
                //Add Error.
                //return view.
            }



            if (!FileUploadHelper.IsValidExtension(Pixel, FileUploadHelper.FileTypes.Photo))
            {
                //Add error message
                //return view.
            }

            string pixelArtName = await _BlobHelper.UploadBlob(p.PixelArtPhoto);

            p.PixelArtURL = pixelArtName;

            //add to DB
            _context.PixelArts.Add(p);
            //makes sure the changes are saved/executed.
            await _context.SaveChangesAsync();

            //redirect back to Gallery Page
            return(RedirectToAction("Gallery"));
        }
Exemplo n.º 22
0
 public ArtefactsController(ApplicationDbContext context,
                            UserManager <ApplicationUser> userManager, IConfiguration configuration) : base(context)
 {
     _context          = context;
     _userManager      = userManager;
     _fileUploadHelper = new FileUploadHelper(configuration); // add to dep injection
 }
Exemplo n.º 23
0
        public async Task <JsonResult> FileUploader(IList <IFormFile> files, string destination, bool isCrop, string allowExt = "")
        {
            if (string.IsNullOrEmpty(destination))
            {
                return(Json(new FileUploadResponse()
                {
                    messages = new List <string>()
                    {
                        "Error"
                    }
                }));
            }
            string basePath = FileUploadHelper.DecryptString(destination);

            //else
            //{
            //    basePath = Path.Combine(CurrentHostEnvironment.WebRootPath, "upload");
            //}
            if (!string.IsNullOrEmpty(allowExt))
            {
                allowExt = FileUploadHelper.DecryptString(allowExt);
            }
            var result = new FileUploadHelper().FileUpload(files, basePath, isCrop, allowExt);

            return(Json(result));
        }
Exemplo n.º 24
0
        ///// <summary>
        ///// 获取预览地址
        ///// </summary>
        ///// <param name="taskId"></param>
        ///// <returns></returns>
        //[HttpGet]
        //[Route("template/download/preview/{taskId}")]
        //public IHttpActionResult PreviewTaskTemplate(string taskId)
        //{
        //    FilesController filesController = new FilesController();
        //    string businessType = "TaskTemplatePreviewAttach";
        //    Lib.Model.Attachment attachment = null;
        //    var finder = AttachmentOperator.Instance.GetLastModel(businessType, taskId);
        //    if (finder != null)
        //    {
        //        attachment = finder;
        //    }
        //    else
        //    {
        //        var fileName = "";
        //        var stream = LoadTaskTemplateStream(taskId, out fileName);
        //        attachment = AttachmentOperator.Instance.CommonUpload(taskId, businessType, fileName, stream);
        //    }
        //    AttachmentOperator.Instance.AddModel(attachment);
        //    var result = filesController.GetPreviewLinkToken(attachment.ID);
        //    return result;
        //}
        private MemoryStream LoadTaskTemplateStream(string taskId, out string fileName)
        {
            var ret = Guid.Empty;

            if (string.IsNullOrEmpty(taskId) || !Guid.TryParse(taskId, out ret))
            {
                throw new BizException("参数错误");
            }
            var task = TemplateTaskOperator.Instance.GetModel(taskId);
            var tci  = TemplateConfigInstanceOperator.Instance.GetModel(task.TemplateConfigInstanceID);

            var attachment = AttachmentOperator.Instance.GetModelByCode(tci.TemplatePathFileCode);

            System.IO.Stream stream   = FileUploadHelper.DownLoadFileStream(tci.TemplatePathFileCode, attachment.IsUseV1).ToStream();
            ExcelEngine      engine   = new ExcelEngine();
            Workbook         taskBook = new Workbook(stream);

            #region 更新二维表时使用
            var dcu            = DataCollectUserOperator.Instance.GetModel(task.DataCollectUserID);
            var templateSheets = TemplateSheetOperator.Instance.GetList(tci.TemplateID);
            if (tci.TaskTemplateType == 2)
            {
                TemplateOperator.Instance.GetTemplateDateForUpdate(taskBook, templateSheets, dcu.UpdateArea, dcu.AreaValue);
            }
            #endregion
            engine.SetCustomProperty(taskBook.Worksheets[0], "TempleteID", tci.TemplateID);
            MemoryStream taskMemStream = new MemoryStream();
            var          format        = TemplateOperator.Instance.GetFormatType(tci.TemplatePathFileExt);
            taskBook.Save(taskMemStream, format);
            fileName = string.Format("{0}-{1}({2})-{3}", tci.TemplateConfigInstanceName, task.EmployeeName, task.EmployeeLoginName, DateTime.Now.ToString("yyyyMMddHHmmss"));
            fileName = string.Format("{0}{1}", fileName, tci.TemplatePathFileExt);
            return(taskMemStream);
        }
        public async Task <ActionResult> Edit(BannerPhotographEditViewModel model)
        {
            ModelState.Remove("Image");

            if (ModelState.IsValid)
            {
                db.Update(model.Banner);
                db.ExcludeFromUpdate(model.Banner, b => new { b.UriPath });

                if (model.Image != null)
                {
                    var fileName = db.GetValueFromDb(model.Banner, b => b.UriPath);

                    FileUploadHelper.SaveImage(
                        model.Image.InputStream,
                        1024,
                        500,
                        Path.Combine(Server.MapPath("~/Public/Banners"), fileName),
                        FitMode.Crop);
                }

                foreach (var item in model.Banner.Translations)
                {
                    db.UpdateTranslation(item);
                }

                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
Exemplo n.º 26
0
        public IActionResult Post([FromForm] CarAddDto carAddDto)
        {
            List <string> imagePaths = new List <string>();

            if (Request.Form.Files.Count > 0)
            {
                var carImages = Request.Form.Files;
                foreach (var file in carImages)
                {
                    // TODO: Filename edit
                    // upload request form files to under "wwwroot/Images/CarImages" folder and return saving db paths
                    var dbPath = FileUploadHelper.UploadFile(file, "wwwroot", "Images\\CarImages");
                    imagePaths.Add(dbPath);
                }
            }
            var car = _mapper.Map <Car>(carAddDto);


            var result = _carManager.AddCar(car, imagePaths);

            if (!result.IsSuccess)
            {
                return(BadRequest(result));
            }

            //imagePaths.ForEach(FileUploadHelper.RemoveFile);
            return(Ok(result));
        }
Exemplo n.º 27
0
        public async Task <IActionResult> FileUpload()
        {
            try
            {
                string file_name   = Path.GetRandomFileName();
                string root_path   = _hostingEnvironment.ContentRootPath;
                var    upload_path = this.GetFilesUploadPath(true);

                var fileUploadForm = await FileUploadHelper.ParseRequestForm(this, async (section, formFileInfo) =>
                {
                    // TODO: This function will be called every time parser got a file
                    // but this controller only supports one file per request.
                    // Therefore the last file will be the one to be saved if the client
                    // passed up more than one file.

                    file_name           += Path.GetExtension(formFileInfo.FileName);
                    var upload_file_path = Path.Combine(upload_path, file_name);

                    using (var fileStream = System.IO.File.Create(upload_file_path))
                    {
                        await section.Body.CopyToAsync(fileStream);
                    }
                }, new FileUploadForm());

                return(Content(file_name));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }
Exemplo n.º 28
0
        public async Task <IActionResult> DownloadTechNoteFile(int id)
        {
            var techNote = await _techNoteService.GetTechNoteById(id);

            string filename = techNote.m_file_guid;

            if (filename == null)
            {
                return(Content("filename not present"));
            }

            var TechNotesUserFilePath = _configuration["UserFilePath:TechNotesFiles"];

            var rootPath = _hostingEnvironment.WebRootPath;
            var path     = Path.Combine(
                rootPath,
                TechNotesUserFilePath, filename);

            var memory = new MemoryStream();

            using (var stream = new FileStream(path, FileMode.Open))
            {
                await stream.CopyToAsync(memory);
            }
            memory.Position = 0;
            return(File(memory, FileUploadHelper.GetContentType(path), techNote.m_file_name));
        }
Exemplo n.º 29
0
        public async Task <IActionResult> UploadPortrait(IFormFile Image)
        {
            var userId     = User.FindFirstValue(ClaimTypes.NameIdentifier);
            var specialist = await _specialistService.FindAsync(userId);

            if (Image != null)
            {
                specialist.ImageUrl = await FileUploadHelper.UploadAsync(Image, Models.Enums.ImageOwnerEnum.Specialist);

                Response.Cookies.Append("profileImage", specialist.ImageUrl);
            }

            await _specialistService.UpdateAsync(specialist);

            if (!specialist.ImageUrl.IsNullOrWhiteSpace())
            {
                TempData["Status"] = "Portrait sent successfully";
            }
            else
            {
                TempData["Status"] = "Portrait did not upload";
            }

            return(View(model: specialist.ImageUrl));
        }
Exemplo n.º 30
0
 private void IncludeAssets()
 {
     ViewData["UploadPath"]     = FileUploadHelper.EncryptString(Path.Combine(CurrentHostEnvironment.WebRootPath, "images", "user"));
     ViewData["AllowExtension"] = FileUploadHelper.EncryptString(string.Join(",", Enum.GetNames(typeof(ImageExtensionEnum))));
     AddJS("FileUploadJs", "/js/uploadFile.js");
     AddJS("FileUploadJs", "/lib/js/jquery.validate.js");
 }