/// <summary> /// Reads the media properties. /// </summary> /// <param name="path">The path.</param> /// <param name="id">The id.</param> /// <param name="mediaconnector">The mediaconnector.</param> /// <remarks> /// Documented by DAC, 2008-08-06. /// </remarks> internal static void UpdateMediaProperties(string path, int id, Interfaces.DB.IDbMediaConnector mediaconnector) { Uri uri = new Uri(path); Stream mediaStream = uri.IsFile ? null : mediaconnector.GetMediaStream(id); mediaconnector.SetPropertyValue(id, MediaProperty.MimeType, GetMimeType(path)); mediaconnector.SetPropertyValue(id, MediaProperty.Extension, Path.GetExtension(path)); mediaconnector.SetPropertyValue(id, MediaProperty.MediaSize, uri.IsFile ? new FileInfo(path).Length.ToString() : mediaStream.Length.ToString()); switch (GetMediaType(path)) { case EMedia.Audio: break; case EMedia.Video: break; case EMedia.Image: using (Image image = uri.IsFile ? Image.FromFile(path) : Image.FromStream(mediaStream)) { mediaconnector.SetPropertyValue(id, MediaProperty.Width, image.Width.ToString()); mediaconnector.SetPropertyValue(id, MediaProperty.Height, image.Height.ToString()); } break; case EMedia.Unknown: default: break; } }