public void ProcessRequest(HttpContext context) { HttpFileCollection uploadedFiles = context.Request.Files; var path = string.Empty; // actual info: we handle one file if (uploadedFiles.Count == 1) { var postedFile = uploadedFiles[0]; var parentId = HttpContext.Current.Request.Form[ParentIdRequestParameterName]; if (String.IsNullOrEmpty(parentId)) { parentId = TryToGetParentId(context); } if (!String.IsNullOrEmpty(parentId)) { IFolder parentNode = null; var parentNodeId = Convert.ToInt32(parentId); parentNode = parentNodeId == 0 ? Repository.Root : Node.LoadNode(parentNodeId) as IFolder; if (parentNode != null) { string fileName = System.IO.Path.GetFileName(postedFile.FileName); path = RepositoryPath.Combine((parentNode as Node).Path, fileName); //PathInfoRemove: //object t = RepositoryPathInfo.GetPathInfo(path); var contentType = UploadHelper.GetContentType(postedFile.FileName, ContentType); var t = NodeHead.Get(path); if (t == null) { if (!String.IsNullOrEmpty(contentType)) { CreateSpecificContent(context, contentType, parentNode, postedFile); } else { SaveNewFile(context, postedFile, parentNode, path); } } else { if (!String.IsNullOrEmpty(contentType)) { ModifySpecificContent(parentNode, postedFile, path); } else { ModifyFile(context, postedFile, parentNode, path); } } } else { this.SetError(context, String.Format("Couldn't find parent node with {0} id.", parentId), 500); } } else { this.SetError(context, "Post parameter error: ParentId is null or empty!", 500); } } var backUrl = PortalContext.Current.BackUrl; if (!String.IsNullOrEmpty(backUrl)) { context.Response.Redirect(backUrl); } // everything's fine context.Response.StatusCode = 200; context.Response.Write(Environment.NewLine); context.Response.End(); }
/// <summary> /// Modify node's binary /// </summary> /// <param name="node"></param> /// <param name="stream"></param> public static void ModifyNode(Node node, Stream stream) { node.SetBinary("Binary", UploadHelper.CreateBinaryData(node.Name, stream)); node.Save(); }
// ------------------------------------------------------------------ Static methods public static BinaryData CreateBinaryData(HttpPostedFile file) { return(UploadHelper.CreateBinaryData(file)); }