ColdFusion 10 cffile action =“upload”接受属性通配符不起作用

时间:2014-02-20 02:40:48

标签: coldfusion coldfusion-10

此代码曾经与ColdFusion 9配合使用:

<cfif form.btnSaveImage EQ "Upload">
    <cftry>
        <cffile accept="image/*" action="upload" destination="C:\T" filefield="vcImageFile" nameconflict="overwrite">
        <cfcatch type="Any">
            <cfdump var="#cfcatch#" label="cfcatch">
        </cfcatch>
    </cftry>
</cfif>

<form action="<cfoutput>#cgi.SCRIPT_NAME#</cfoutput>" method="post" name="frmImagesAdd" id="frmImagesAdd" enctype="multipart/form-data">
    <label for="vcImageFile">Image File*:</label><br>
    <input type="file" name="vcImageFile" id="vcImageFile" size="40" maxlength="255" message="Image file is required to upload."><br>
    <input type="hidden" name="btnSubmit" value="Add Image">
    <input name="btnSaveImage" type="submit" value="Upload">
</form>

问题是cffile标记的accept="image/*"属性。在ColdFusion 9中,此通配符用​​于接受MIME类型以“image /”开头的任何文件。在ColdFusion 10中,我收到以下错误消息:

  

“上传的文件图片/ jpeg的MIME类型或扩展名为   服务器不接受。“

MimeType值为“image / jpeg”,因此它应该与通配符一起使用。

我查看了wikidocs for the cffile tag并说明了这一点:

  

ColdFusion 10:对属性的修改接受}}

但是,它没有详细说明这些修改是什么!

查看upload action docs,它表示它将接受以逗号分隔的mime类型列表。这是否意味着不再接受通配符?

1 个答案:

答案 0 :(得分:1)

仅供参考,这篇博文在去年的同一时间也出现了同样的问题:

http://www.cutterscrossing.com/index.cfm/2013/2/21/ColdFusion-10-File-Uploads-and-MIME-Types

  

现在,我记得CF中的MIME类型检查有变化   10,但我并不完全确定。这段代码,由我们之一编写   开发人员几个月前,将允许任何“图像”MIME类型。   我们发现我们不能做这种通配符   根据CF 10进行映射,我们现在必须列出每个接受的MIME   键入逗号分隔列表。