Example #1
0
        /// <summary>
        /// Retrieves the format information of the media file.
        /// </summary>
        /// <param name="options"></param>
        public void getFormatData(string options)
        {
            if (String.IsNullOrEmpty(options))
            {
                this.DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
                return;
            }

            try
            {
                MediaFormatOptions mediaFormatOptions;
                try
                {
                    mediaFormatOptions = JSON.JsonHelper.Deserialize <MediaFormatOptions>(options);
                }
                catch (Exception ex)
                {
                    this.DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION, ex.Message));
                    return;
                }

                if (string.IsNullOrEmpty(mediaFormatOptions.FullPath))
                {
                    DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
                }

                string mimeType = mediaFormatOptions.Type;

                if (string.IsNullOrEmpty(mimeType))
                {
                    mimeType = MimeTypeMapper.GetMimeType(mediaFormatOptions.FullPath);
                }

                if (mimeType.Equals("image/jpeg"))
                {
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        WriteableBitmap image = ExtractImageFromLocalStorage(mediaFormatOptions.FullPath);

                        if (image == null)
                        {
                            DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "File not found"));
                            return;
                        }

                        MediaFileData mediaData = new MediaFileData(image);
                        DispatchCommandResult(new PluginResult(PluginResult.Status.OK, mediaData));
                    });
                }
                else
                {
                    DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR));
                }
            }
            catch (Exception)
            {
                DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR));
            }
        }
Example #2
0
        protected List <FileEntry> GetFilteredEntries()
        {
            var entries = _dataManager.GetFiles().Where(ContainsUserWithWatchedDate).ToList();

            foreach (var entry in entries)
            {
                var mediaFileData = new MediaFileData(entry.FullName, entry.CreationTime, entry.VideoLength);

                (new VideoReader(mediaFileData, false)).DetermineLength();

                if (mediaFileData.HasChanged)
                {
                    entry.VideoLength  = mediaFileData.VideoLength;
                    entry.CreationTime = mediaFileData.CreationTime;
                }
            }

            return(entries);
        }
        public static void ExecuteMethod_AddEncodedFormDataToBinaryFiles(IInformationObject rootObject, NameValueCollection httpFormData, Dictionary<string, MediaFileData> binaryContentFiles)
        {
            const string base64CommaValue = "base64,";
            const int base64Length = 7; // base64CommaValue.Length;

            string objectID = rootObject.ID;
            foreach (var key in httpFormData.AllKeys)
            {
                if (key.StartsWith("FileEmbedded_"))
                {
                    string dictKey = prefixWithIDIfMissing(key, "FileEmbedded_", objectID);
                    dictKey = dictKey.Replace("FileEmbedded_", "File_");
                    string formValue = httpFormData[key];
                    MediaFileData mediaFileData = null;
                    if (String.IsNullOrEmpty(formValue) == false)
                    {
                        int fileNameEndIX = formValue.IndexOf(':');
                        string fileName = formValue.Substring(0, fileNameEndIX);
                        fileName = Path.GetFileName(fileName);
                        int base64CommaIX = formValue.IndexOf(base64CommaValue, System.StringComparison.Ordinal);
                        var base64Data = formValue.Substring(base64CommaIX + base64Length);
                        // Strip off remaining comma separated datas in case the field value has those
                        var existingDataCommaIX = base64Data.IndexOf(',');
                        if (existingDataCommaIX > 0)
                            base64Data = base64Data.Substring(0, existingDataCommaIX);
                        byte[] realData = Convert.FromBase64String(base64Data);
                        mediaFileData = new MediaFileData
                            {
                                FileName = fileName,
                                FileContent = realData
                            };
                    }
                    binaryContentFiles.Add(dictKey, mediaFileData);
                }
            }
        }
Example #4
0
        /// <summary>
        /// Retrieves the format information of the media file.
        /// </summary>
        /// <param name="options"></param>
        public void getFormatData(string options)
        {
            if(String.IsNullOrEmpty(options)){
                this.DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
                return;
            }

            try
            {
                MediaFormatOptions mediaFormatOptions;
                try
                {
                   mediaFormatOptions = JSON.JsonHelper.Deserialize<MediaFormatOptions>(options);
                }
                catch (Exception ex)
                {
                    this.DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION, ex.Message));
                    return;
                }

                if (string.IsNullOrEmpty(mediaFormatOptions.fullPath))
                {
                    DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
                }

                string mimeType = mediaFormatOptions.type;

                if (string.IsNullOrEmpty(mimeType))
                {
                    mimeType = MimeTypeMapper.GetMimeType(mediaFormatOptions.fullPath);
                }

                if (mimeType.Equals("image/jpeg"))
                {
                    WriteableBitmap image = ExtractImageFromLocalStorage(mediaFormatOptions.fullPath);

                    if (image == null)
                    {
                        DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "File not found"));
                        return;
                    }

                    MediaFileData mediaData = new MediaFileData(image);
                    DispatchCommandResult(new PluginResult(PluginResult.Status.OK, mediaData));
                }
                else
                {
                    DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR));
                }
            }
            catch (Exception e)
            {
                DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR));
            }
        }
        /// <summary>
        /// Retrieves the format information of the media file.
        /// </summary>
        /// <param name="options"></param>
        public void getFormatData(string options)
        {
            try
            {
                MediaFormatOptions mediaFormatOptions;
                try
                {
                    mediaFormatOptions = new MediaFormatOptions();
                    string[] optionStrings = JSON.JsonHelper.Deserialize<string[]>(options);
                    mediaFormatOptions.FullPath = optionStrings[0];
                    mediaFormatOptions.Type = optionStrings[1];
                }
                catch (Exception ex)
                {
                    this.DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION, ex.Message));
                    return;
                }

                if (string.IsNullOrEmpty(mediaFormatOptions.FullPath))
                {
                    DispatchCommandResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
                }

                string mimeType = mediaFormatOptions.Type;

                if (string.IsNullOrEmpty(mimeType))
                {
                    mimeType = MimeTypeMapper.GetMimeType(mediaFormatOptions.FullPath);
                }

                if (mimeType.Equals("image/jpeg"))
                {
                    Deployment.Current.Dispatcher.BeginInvoke(() =>
                    {
                        WriteableBitmap image = ExtractImageFromLocalStorage(mediaFormatOptions.FullPath);

                        if (image == null)
                        {
                            DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, "File not found"));
                            return;
                        }

                        MediaFileData mediaData = new MediaFileData(image);
                        DispatchCommandResult(new PluginResult(PluginResult.Status.OK, mediaData));
                    });
                }
                else
                {
                    DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR));
                }
            }
            catch (Exception)
            {
                DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR));
            }
        }