/// <summary> /// Saves all the modified default.config and .packageconfig files to disk. /// </summary> /// <returns> Results of the save operations. </returns> /// <remarks>This method is not thread-safe.</remarks> public FileSaveResult[] Save() { FileSaveResult[] results = new FileSaveResult[_modifiedDocuments.Count]; int arraySaveIndex = 0; foreach (XDocument document in _modifiedDocuments.Keys) { string savePath = _documentPaths[document]; Trace.WriteLine($"Saving modified config file: {savePath}"); try { string extension = Path.GetExtension(savePath).ToLowerInvariant(); XmlWriterSettings writeSettings = extension == ".packageconfig" ? _packageconfigWriteSettings : _defaultconfigWriteSettings; using XmlWriter writer = XmlWriter.Create(savePath, writeSettings); document.Save(writer); results[arraySaveIndex++] = new FileSaveResult(savePath); Trace.WriteLine("Save success."); } catch (Exception e) { results[arraySaveIndex++] = new FileSaveResult(savePath, e); Trace.WriteLine($"Save failed with exception:{e.ToString()}"); } } return(results); }
public FileSaveResult Write(string path, IList <string> data) { try { using (var writer = File.CreateText(path)) { foreach (var dataLine in data) { writer.WriteLine(dataLine); } } return(FileSaveResult.Success()); } catch (Exception ex) { return(FileSaveResult.Failure($"Unable to save a file. Message: {ex.Message}, Stacktrace: {ex.StackTrace}")); } }
private FileSaveResult SaveImage(string folderName) { try { var fileSaveResult = new FileSaveResult(); if (HttpContext.Request.Form.Files == null || HttpContext.Request.Form.Files.Count == 0) { return(fileSaveResult); } var files = HttpContext.Request.Form.Files; var filenames = new List <string>(); foreach (var Image in files) { if (Image != null && Image.Length > 0) { var imageStream = Image.OpenReadStream(); var uploads = Path.Combine(this.hostingEnvironment.WebRootPath, folderName); if (Image.Length > 0) { var fileName = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(Image.FileName); using (SixLabors.ImageSharp.Image image = SixLabors.ImageSharp.Image.Load(imageStream)) { var height = (int)Math.Round(0.5 * image.Height); var width = (int)Math.Round(0.5 * image.Width); image.Mutate(x => x.Resize(width, height)); image.Save($"{uploads}/{fileName}"); // Automatic encoder selected based on extension. } filenames.Add(fileName); fileSaveResult.FileIsThere = true; } } } fileSaveResult.FileNames = filenames; return(fileSaveResult); } catch (Exception ex) { throw new Exception(ex.Message); } }
public ActionResult Create(int folderId, FormCollection formData) { DocumentViewModel model = GetModel(null); UpdateModel(model.Instance, formData); if (ModelState.IsValid) { HttpPostedFileBase file = Request.Files[0]; // Deal with file data if (null != file && file.ContentLength > 0) { FileSaveResult fileResult = FileHelper.SaveFile(model.Instance.Title, file); if (fileResult.IsSuccessful) { model.Instance.Title = fileResult.Title; model.Instance.OriginFile = file.FileName; model.Instance.ContentUri = fileResult.FileUri; model.Instance.OriginSource = "Document"; model.Instance.IssuedDate = DateTime.Now; // Save data IFacadeUpdateResult <DocumentData> result = Service.SaveDocument(model.Instance); if (result.IsSuccessful) { DocumentDto savedRef = result.ToDto(new DocumentConverter()); return(RedirectToAction(DetailAction, new { id = savedRef.Id })); } else { ProcUpdateResult(result.ValidationResult, result.Exception); } } else { // TODO: file save exception } } } model.FolderTree = GetCurrentFolderTree(folderId); return(View(model)); }
public async Task <FileSaveResult> SaveImage(string folderPath) { try { var fileSaveResult = new FileSaveResult(); if (HttpContext.Request.Form.Files == null || HttpContext.Request.Form.Files.Count == 0) { return(fileSaveResult); } var files = HttpContext.Request.Form.Files; var filenames = new List <string>(); foreach (var Image in files) { if (Image != null && Image.Length > 0) { var file = Image; var uploads = Path.Combine(GlobalConfig.WebRootPath, folderPath); if (file.Length > 0) { //var fileName = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(file.FileName); var fileName = file.FileName.Replace(" ", "_"); using (var fileStream = new FileStream(Path.Combine(uploads, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); filenames.Add(fileName); fileSaveResult.FileIsThere = true; } } } } fileSaveResult.FileNames = filenames; return(fileSaveResult); } catch (Exception ex) { throw new Exception(ex.Message); } }
public static string FileSaveResultToString(FileSaveResult fsr) { string str; switch (fsr.Code) { case FileSaveResultCode.Success: str = KPRes.Success; break; case FileSaveResultCode.UnknownError: str = KPRes.UnknownError; break; case FileSaveResultCode.FileCreationFailed: str = KPRes.FileCreationError; break; case FileSaveResultCode.IOException: str = KPRes.IOError; break; case FileSaveResultCode.SecurityException: str = KPRes.InternalSecurityException; break; default: str = KPRes.UnknownError; break; } if ((fsr.Message != null) && (fsr.Message.Length > 0)) { str += "\r\n\r\n" + fsr.Message; } return(str); }
private void CollectValues(DucValueDto ducValue, NameValueCollection formData, DucTypes ducType, ReferenceInfoDto reference) { switch (ducType) { case DucTypes.SubTitle: case DucTypes.Text: case DucTypes.TextArea: ducValue.ValueText = formData[DucHelper.GetClientId(ducValue.DucId)]; break; case DucTypes.Html: case DucTypes.HtmlArea: ducValue.ValueHtml = formData[DucHelper.GetClientId(ducValue.DucId)]; break; case DucTypes.Image: string fileId = string.Format(UIConst.FileKeyFormatString, DucHelper.GetClientId(ducValue.DucId)); string colTitle = string.Format(UIConst.ImageTitleKeyFormatString, DucHelper.GetClientId(ducValue.DucId)); string title = formData[colTitle]; // Deal with image upload HttpPostedFileBase file = Request.Files[fileId]; if (null != file && file.ContentLength > 0) { // Save file and get result FileSaveResult fileResult = FileHelper.SaveFile(title, file); if (fileResult.IsSuccessful) { ducValue.ValueUrl = fileResult.FileUri; ducValue.ValueText = fileResult.Title; // Save image as Document DocumentDto document = new DocumentDto(); document.Title = fileResult.Title; document.ContentUri = fileResult.FileUri; document.OriginFile = file.FileName; document.OriginSource = "Reference"; document.IssuedDate = DateTime.Now; IDocumentService service = ServiceLocator.Current.GetInstance <IDocumentService>(); IFacadeUpdateResult <DocumentData> result = service.SaveDocument(document); } else { } } else { string col1Name = string.Format(UIConst.ValueUrlKeyFormatString, DucHelper.GetClientId(ducValue.DucId)); string col2Name = string.Format(UIConst.ValueTextKeyFormatString, DucHelper.GetClientId(ducValue.DucId)); ducValue.ValueUrl = formData[col1Name]; ducValue.ValueText = formData[col2Name]; } break; case DucTypes.Integer: int valueInteger; if (int.TryParse(formData[DucHelper.GetClientId(ducValue.DucId)], out valueInteger)) { ducValue.ValueInt = valueInteger; } break; case DucTypes.Hyperlink: string col3Name = string.Format(UIConst.ValueUrlKeyFormatString, DucHelper.GetClientId(ducValue.DucId)); string col4Name = string.Format(UIConst.ValueTextKeyFormatString, DucHelper.GetClientId(ducValue.DucId)); ducValue.ValueUrl = formData[col3Name]; ducValue.ValueText = formData[col4Name]; break; case DucTypes.Datetime: break; case DucTypes.ReferenceList: string col21Name = string.Format(UIConst.ValueIntKeyFormatString, DucHelper.GetClientId(ducValue.DucId)); string col22Name = string.Format(UIConst.ValueTextKeyFormatString, DucHelper.GetClientId(ducValue.DucId)); int valueInt; if (int.TryParse(formData[col21Name], out valueInt)) { ducValue.ValueInt = valueInt; } ducValue.ValueText = formData[col22Name]; break; case DucTypes.ReferenceCollection: string col5Name = string.Format(UIConst.ValueIntKeyFormatString, DucHelper.GetClientId(ducValue.DucId)); int value5Int; if (int.TryParse(formData[col5Name], out value5Int)) { ducValue.ValueInt = value5Int; } break; default: break; } }