用于Redactor编辑器的图像上传cfm或cfc

时间:2016-01-30 04:06:31

标签: jquery coldfusion redactor

我尝试使用简单的图片上传脚本为ColdFusion配置redactor。图像实际上并没有上传到服务器,我也不知道如何将变量恢复到ColdFusion以供redactor使用。我似乎无法将their sample code正确转换为ColdFusion。

我对函数的调用在这里:

this.article_content.redactor({ focus: true,
                        buttons: [  'html', '|', 'formatting', '|', 'bold', 'italic', 'underline', '|', 'unorderedlist', 'orderedlist', '|',
                                'image', 'video', 'file', 'link', '|',
                                'fontcolor', '|', 'alignment', '|', 'horizontalrule', 'alignleft', 'aligncenter', 'alignright', 'justify'],
                        imageUpload: 'lib/modules/imageUpload.cfm'
                    });

imageUpload.cfm

<cfparam name="form.file" default="">
<cffile action="upload" destination="#dir#"  accept="image/*"  nameconflict="overwrite" filefield="file"/>
<cfset result = structnew()>
<cfset result["name"] = cffile.serverFile>
<cfset result["url"] = cffile.serverFile>
<cfset result["filelink"] = cffile.serverFile>
<cfset result["type"] = cffile.ContentType &"/"& cffile.ContentSubType>
<cfset result["size"] = cffile.FileSize>

<cfreturn serializejson(result)>

这应该是cfm页面还是cfc页面?我基本上只需要将serverFile变量转换为如下所示的json对象:

{ "url": "/images/img.jpg", "id": "123" }

2 个答案:

答案 0 :(得分:1)

我觉得你很亲密!这应该适合你:

.red1 .red2 .red3

主要区别在于.cfm页面你可以输出JSON,你试图返回它(使用cfreturn),这是你从函数中做的。

为了更好的衡量,我添加了[data-red-shade=1] [data-red-shade=2] [data-red-shade=3]设置,以确保您不会得到任何会破坏JSON响应的不需要的空格。

答案 1 :(得分:0)

您可以尝试添加内容类型为cfheader的{​​{1}}。正如@beloitdavisja建议用application/json替换cfreturn。除非在函数内部,否则不要在cfm页面中使用cfoutput。像这样:

cfreturn