private bool CreateShortcutFromUri(string mediaFolder, string uri) { var url = new Uri(uri); var filename = GenerateLocalFileName(url); var destFile = Path.Combine(mediaFolder, filename); if (File.Exists(destFile)) { return(false); } var sourceFile = Path.Combine(GetWebDownloadTempFolder(), filename); if (string.IsNullOrEmpty(sourceFile)) { return(false); } WebShortcutHelper.Generate(sourceFile, url); if (!File.Exists(sourceFile)) { return(false); } if (!CopyFileInternal(sourceFile, destFile)) { return(false); } FileUtils.SafeDeleteFile(sourceFile); return(true); }
public void ShowWeb( string mediaItemFilePath, Guid mediaItemId, int pdfStartingPage, PdfViewStyle pdfViewStyle, bool showMirror, ScreenPosition screenPosition) { _useMirror = showMirror; if (string.IsNullOrEmpty(mediaItemFilePath)) { return; } _showing = false; _mediaItemId = mediaItemId; ScreenPositionHelper.SetScreenPosition(_browserGrid, screenPosition); OnMediaChangeEvent(CreateMediaEventArgs(mediaItemId, MediaChange.Starting)); string?webAddress; if (Path.GetExtension(mediaItemFilePath).Equals(".pdf", StringComparison.OrdinalIgnoreCase)) { // https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/pdf_open_parameters.pdf var viewString = GetPdfViewString(pdfViewStyle); var cacheBusterString = DateTime.Now.Ticks.ToString(); webAddress = $"pdf://{mediaItemFilePath}?t={cacheBusterString}#view={viewString}&page={pdfStartingPage}"; } else { var urlHelper = new WebShortcutHelper(mediaItemFilePath); webAddress = urlHelper.Uri; } _currentMediaItemUrl = webAddress; RemoveAnimation(); _browserGrid.Visibility = Visibility.Visible; _browser.Load(webAddress); }
public void ShowWeb( string mediaItemFilePath, Guid mediaItemId, bool showMirror, ScreenPosition screenPosition) { _useMirror = showMirror; if (string.IsNullOrEmpty(mediaItemFilePath)) { return; } _showing = false; _mediaItemId = mediaItemId; ScreenPositionHelper.SetScreenPosition(_browserGrid, screenPosition); OnMediaChangeEvent(CreateMediaEventArgs(mediaItemId, MediaChange.Starting)); string webAddress; if (Path.GetExtension(mediaItemFilePath).Equals(".pdf", StringComparison.OrdinalIgnoreCase)) { webAddress = $"pdf://{mediaItemFilePath}"; } else { var urlHelper = new WebShortcutHelper(mediaItemFilePath); webAddress = urlHelper.Uri; } _currentMediaItemUrl = webAddress; RemoveAnimation(); _browserGrid.Visibility = Visibility.Visible; _browser.Load(webAddress); }
private byte[] GetWebThumbnail(string originalPath) { if (string.IsNullOrEmpty(originalPath)) { return(null); } if (Path.GetExtension(originalPath).Equals(".pdf", StringComparison.OrdinalIgnoreCase)) { return(GetPdfThumbnail(originalPath)); } var helper = new WebShortcutHelper(originalPath); var bytes = FaviconHelper.GetIconImage(helper.Uri); if (bytes != null) { bytes = CreateFramedSmallIcon(bytes); return(bytes); } return(_standardWebThumbnail.Value); }