public void DetachFileFromSerializationItem(string itemPath)
        {
            SyncItem syncItem = SyncItemProvider.GetSyncItem(itemPath);

            syncItem.RemoveField(FileTemplateFields.Blob.FieldId);
            syncItem.SetFieldValue(FileTemplateFields.Size, String.Empty);
            syncItem.SetFieldValue(FileTemplateFields.Extension, String.Empty);
            syncItem.SetFieldValue(FileTemplateFields.MimeType, String.Empty);
            SyncItemProvider.SaveSyncItem(syncItem, itemPath);
        }
        public static SyncItem AttachMediaFile(this SyncItem syncItem, FileInfo fileInfo)
        {
            byte[] bytes     = FileUtils.ReadFile(fileInfo.FullName);
            var    blobValue = System.Convert.ToBase64String(bytes, Base64FormattingOptions.InsertLineBreaks);
            string extension = fileInfo.Extension.TrimStart('.');
            string mimeType  = MediaTypeResolver.Instance.ResolveMimeType(extension);

            syncItem.SetFieldValue(FileTemplateFields.Blob, blobValue);
            syncItem.SetFieldValue(FileTemplateFields.Size, bytes.Length.ToString());
            syncItem.SetFieldValue(FileTemplateFields.Extension, extension);
            syncItem.SetFieldValue(FileTemplateFields.MimeType, mimeType);
            syncItem.SetFieldValue(FileTemplateFields.Icon, SitecoreUtils.GenerateIconValue(syncItem.ID));
            return(syncItem);
        }