public static string ThumbnailFromSubmissionModel(Message submissionModel) { var extension = Path.GetExtension(submissionModel.MessageContent); // this is a direct link to image if (extension != String.Empty) { if (extension == ".jpg" || extension == ".JPG" || extension == ".png" || extension == ".PNG" || extension == ".gif" || extension == ".GIF") { try { var thumbFileName = GenerateThumbFromUrl(submissionModel.MessageContent); return thumbFileName; } catch (Exception) { // thumnail generation failed, skip adding thumbnail return null; } } // try generating a thumbnail by using the Open Graph Protocol try { var graphUri = new Uri(submissionModel.MessageContent); var graph = OpenGraph.ParseUrl(graphUri, userAgent: "Voat.co OpenGraph Parser"); // open graph failed to find og:image element, abort thumbnail generation if (graph.Image == null) return null; var thumbFileName = GenerateThumbFromUrl(graph.Image.ToString()); return thumbFileName; } catch (Exception) { // thumnail generation failed, skip adding thumbnail return null; } } // this is not a direct link to an image, it could be a link to an article or video // try generating a thumbnail by using the Open Graph Protocol try { var graphUri = new Uri(submissionModel.MessageContent); var graph = OpenGraph.ParseUrl(graphUri, userAgent: "Voat.co OpenGraph Parser"); // open graph failed to find og:image element, abort thumbnail generation if (graph.Image == null) return null; var thumbFileName = GenerateThumbFromUrl(graph.Image.ToString()); return thumbFileName; } catch (Exception) { // thumnail generation failed, skip adding thumbnail return null; } }
public static string ThumbnailFromSubmissionModel(Message submissionModel) { var extension = Path.GetExtension(submissionModel.MessageContent); // this is a direct link to image if (extension != String.Empty) { if (extension == ".jpg" || extension == ".JPG" || extension == ".png" || extension == ".PNG" || extension == ".gif" || extension == ".GIF") { try { var thumbFileName = GenerateThumbFromUrl(submissionModel.MessageContent); return(thumbFileName); } catch (Exception) { // thumnail generation failed, skip adding thumbnail return(null); } } // try generating a thumbnail by using the Open Graph Protocol try { var graphUri = new Uri(submissionModel.MessageContent); var graph = OpenGraph.ParseUrl(graphUri, userAgent: "Voat.co OpenGraph Parser"); // open graph failed to find og:image element, abort thumbnail generation if (graph.Image == null) { return(null); } var thumbFileName = GenerateThumbFromUrl(graph.Image.ToString()); return(thumbFileName); } catch (Exception) { // thumnail generation failed, skip adding thumbnail return(null); } } // this is not a direct link to an image, it could be a link to an article or video // try generating a thumbnail by using the Open Graph Protocol try { var graphUri = new Uri(submissionModel.MessageContent); var graph = OpenGraph.ParseUrl(graphUri, userAgent: "Voat.co OpenGraph Parser"); // open graph failed to find og:image element, abort thumbnail generation if (graph.Image == null) { return(null); } var thumbFileName = GenerateThumbFromUrl(graph.Image.ToString()); return(thumbFileName); } catch (Exception) { // thumnail generation failed, skip adding thumbnail return(null); } }