/// <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)); } }
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); } } }
/// <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)); } }