首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ColdFusion和CFFeed的rss feed中的图像

使用ColdFusion和CFFeed的rss feed中的图像
EN

Stack Overflow用户
提问于 2013-04-01 05:39:04
回答 1查看 1K关注 0票数 1

我有一个脚本,它生成一个带有ColdFusion及其CFFeed标记的xml文件。除了图像之外,它工作得很好。我知道你必须在CDATA中封装图像才能显示它。我不确定我的设置是否正确,因为图片没有显示在我的Google Reader / Feedly feed中。代码如下:

代码语言:javascript
复制
<cfquery datasource="data" name="queryT">
SELECT *
FROM qTable
WHERE ... 
ORDER BY...
</cfquery> 

<cfset RssStruct                = StructNew() />
<cfset RssStruct.link           = "https://www.url.com" />
<cfset RssStruct.title          = "sitename" />
<cfset RssStruct.description    = "url Blog" />
<cfset RssStruct.image.url      = 'https://www.url.com/assets/img/ns.png' />
<cfset RssStruct.image.title    = 'Site Name' />
<cfset RssStruct.image.link     = 'https://www.url.com' />
<cfset RssStruct.pubDate        = Now() />
<cfset RssStruct.version        = "rss_2.0" />
<cfset RssStruct.item           = ArrayNew(1) />
<cfset threadlist               = "">
<cfset index                    = 1>

<cfloop query="queryT">
    <cfif listcontains( threadlist , '#id#' ) eq 0>
        <cfset threadlist = ListAppend(threadlist, '#id#')>
             <!--- Here let's clean up and ensure that all values are XML Compliant --->
            <cfset RssStruct.item[index]                    = StructNew() />
            <cfset RssStruct.item[index].guid               = structNew() />
            <cfset RssStruct.item[index].guid.isPermaLink   ="YES" />
            <cfset RssStruct.item[index].guid.value         = 'https://www.url.com/page.cfm?itemid=#queryT.id#' />
            <cfset RssStruct.item[index].pubDate            = createDate(year(Posted), month(Posted), day(Posted)) />
            <cfset RssStruct.item[index].title              = xmlFormat(#title#) />
            <cfset RssStruct.item[index].Body               = xmlFormat(#Body#) />
            <cfset RssStruct.item[index].description        = StructNew() />
            <cfset RssStruct.item[index].description.value  = '<![CDATA[ <img src="https://www.url.com/assets/Photos/photo/#id#.jpg"> #body#  ]]>' />
            <cfset RssStruct.item[index].link               = 'https://www.url.com/page.cfm?item=#queryT.id#' /><br>
        <cfset index = index + 1>
    </cfif>
</cfloop>

<!--- Generate the feed and save it to a file and variable. --->

<cffeed action="create" name="#RssStruct#" overwrite="true" xmlVar="myXML" outputFile = "Feed.xml"  />`
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-02 00:34:47

看起来您已经为item下的<description>元素创建了一个结构。您是否尝试过简单地将代码放入<description>中?

而不是这样:

代码语言:javascript
复制
        <cfset RssStruct.item[index].description        = StructNew() />
        <cfset RssStruct.item[index].description.value  = '<![CDATA[ <img src="https://www.url.com/assets/Photos/photo/#id#.jpg"> #body#  ]]>' />

试试这个:

代码语言:javascript
复制
        <cfset RssStruct.item[index].description  = '<![CDATA[ <img src="https://www.url.com/assets/Photos/photo/#id#.jpg"> #body#  ]]>' />

您是否尝试过改用项目的<enclosure>元素?

Definition and Usage

元素的作用是:允许将媒体文件包含在项目中。

属性

长度-必填。定义媒体文件的长度(字节)

类型-必填。定义媒体文件的类型

url -必填。定义媒体文件的URL

示例如下(您需要以字节为单位确定图像的大小):

代码语言:javascript
复制
<enclosure url="https://www.url.com/assets/Photos/photo/#id#.jpg" length="#ImageLength#" type="image/jpeg" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15734840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档