예제 #1
0
        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;
            }
        }
예제 #2
0
        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);
            }
        }