public static File CreateByBinary(IFolder parent, BinaryData binaryData) { if (parent == null) throw new ArgumentNullException("parent"); if (binaryData == null) return new File(parent as Node); File file; // Resolve filetype by binary-config matching BinaryTypeResolver resolver = new BinaryTypeResolver(); if (!resolver.ParseBinary(binaryData)) { // Unknown file type file = new File(parent as Node); } else { // Specific File subtype has been found file = TypeHandler.CreateInstance<File>(resolver.NodeType.ClassName, parent); var fname = binaryData.FileName.FileNameWithoutExtension; if (string.IsNullOrEmpty(fname)) fname = file.Name; else if (fname.Contains("\\")) fname = System.IO.Path.GetFileNameWithoutExtension(fname); binaryData.FileName = new BinaryFileName(fname, resolver.FileNameExtension); binaryData.ContentType = resolver.ContentType; } file.Binary = binaryData; return file; }
public static File CreateByBinary(IFolder parent, BinaryData binaryData) { if (parent == null) { throw new ArgumentNullException("parent"); } if (binaryData == null) { return(new File(parent as Node)); } File file; // Resolve filetype by binary-config matching BinaryTypeResolver resolver = new BinaryTypeResolver(); if (!resolver.ParseBinary(binaryData)) { // Unknown file type file = new File(parent as Node); } else { // Specific File subtype has been found file = TypeHandler.CreateInstance <File>(resolver.NodeType.ClassName, parent); var fname = binaryData.FileName.FileNameWithoutExtension; if (string.IsNullOrEmpty(fname)) { fname = file.Name; } else if (fname.Contains("\\")) { fname = System.IO.Path.GetFileNameWithoutExtension(fname); } binaryData.FileName = new BinaryFileName(fname, resolver.FileNameExtension); binaryData.ContentType = resolver.ContentType; } file.Binary = binaryData; return(file); }