public static bool BuildPreview(string temporaryDirectory, string sourceFile, string mimetype, int width, int height, out string previewMimetype, out string previewPath, out string error) { IPreview preview = null; bool success = false; previewMimetype = null; previewPath = null; error = null; if (mimetype.StartsWith("image/", System.StringComparison.InvariantCulture) || mimetype.StartsWith("video/", System.StringComparison.InvariantCulture) || mimetype.StartsWith("audio/", System.StringComparison.InvariantCulture)) { preview = new ImageVideoPreview(temporaryDirectory); } else if (mimetype == "application/pdf") { preview = new PdfPreview(temporaryDirectory); } else if (mimetype == "text/uri-list") { preview = new UrlPreview(temporaryDirectory); } //else if (mimetype == "application/x-laclasse-pad") // preview = new HtmlPreview(temporaryDirectory); if (preview != null) { previewPath = preview.Process(sourceFile, mimetype, width, height, out PreviewFormat format, out error); if (previewPath != null) { if (format == PreviewFormat.PNG) { previewMimetype = "image/png"; } else { previewMimetype = "image/jpeg"; } success = true; } else { success = false; } } return(success); }
/// <summary> /// Get the URLs from the frontend. /// </summary> /// <param name="id"> /// The id. /// </param> /// <returns> /// The <see cref="IEnumerable"/>. /// </returns> public ActionResult GetUrls(int id) { var urls = new List <string>(); if (id > 0) { urls.Add(this.UmbracoContext.UrlProvider.GetUrl(id)); urls.AddRange(this.UmbracoContext.UrlProvider.GetOtherUrls(id)); } var urlPreview = new UrlPreview { IsPreview = this.UmbracoContext.InPreviewMode, Urls = urls }; return(this.Json(urlPreview, JsonRequestBehavior.AllowGet)); }
private async Task Preview(string url) { PreviewResult preview; try { var previewer = new UrlPreview(url); preview = await previewer.GetPreviewAsync(); } catch (UriFormatException) { InvalidUrl(); return; } var serialized = JsonConvert.SerializeObject(preview, Formatting.Indented); Console.WriteLine(serialized); }