SenseNet.ContentRepository.BinaryTypeResolver.ParseBinary C# (CSharp) Метод

ParseBinary() публичный Метод

public ParseBinary ( BinaryData binaryData ) : bool
binaryData SenseNet.ContentRepository.Storage.BinaryData
Результат bool
        public bool ParseBinary(BinaryData binaryData)
        {
            if(binaryData == null)
                throw new ArgumentNullException("binaryData");

            // TODO: Resolve correct File subtype by the SenseNet.ContentRepository.Storage.MimeTable
            _nodeType = ActiveSchema.NodeTypes[typeof(File).Name];
            if(_nodeType == null)
            {
                // Unknown type
                _fileNameExtension = null;
                _contentType = null;
                return false;
            }
            else
            {
                // Fix extension and/or contenttype values by config matching
                _fileNameExtension = binaryData.FileName.Extension;
                _contentType = binaryData.ContentType;
                return true;
            }
        }

Usage Example

Пример #1
0
        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;
        }
All Usage Examples Of SenseNet.ContentRepository.BinaryTypeResolver::ParseBinary