Coldfusion上传CSV使用mime-type'text / plain'返回mime-type错误

时间:2014-10-28 17:58:49

标签: coldfusion mime-types coldfusion-10 cffile

我遇到了ColdFusion 10的问题。代码已经工作了,我不确定是什么改变了 - 代码本身在这个领域几个月没有改变。

我的cffile看起来像这样:

<cffile action="upload" filefield="fileLocation" 
    destination="#destination#" 
    nameConflict="Overwrite" 
    accept="application/vnd.ms-excel,text/csv" 
    result="upload">

我正在上传.csv文件。我得到的错误是这个(cfcatch.message然后cfcatch.detail):

The MIME type or the Extension of the uploaded file text/plain was 
not accepted by the server. 

Only files of type application/vnd.ms-excel,text/csv can be uploaded. 
Verify that you are uploading a file of the appropriate type.

在Firebug中,Net条目的Post部分如下所示:

Content-Disposition: form-data; name="fileLocation"; filename="myfilename.csv"
Content-Type: application/vnd.ms-excel

如果我拿走了accept =“”属性,然后执行了#upload#的cfdump,我得到:

CONTENTSUBTYPE  vnd.ms-excel
CONTENTTYPE     application 

或者,换句话说,CF正在接收 Firefox正在发送的应用程序/ vnd.ms-excel。但是。它导出的mime类型是text / plain。

我已经检查过该文件 - 它是CSV格式的,与之前上传的文件相同。我已将文件重命名为.txt,然后重新命名为.csv,以防万一它与扩展相关的问题。同样的错误。我已经确认我没有打开文件。

我的用户正在使用我们的生产服务器试试这个。我正在使用我们的开发服务器。无论它是什么,它都不是特定于单个服务器。

有没有人理解为什么它会出现text / plain?如果它正在获得application / octet-stream,我会模糊地理解它; text / plain只是......令人困惑。

1 个答案:

答案 0 :(得分:0)

解决方案:

将属性设为strict =&#34; false&#34;进入<cffile>标记。

即使默认设置为false,也要设置strict而不是依赖默认设置。

另请查看此更改为cffile的其他CF10更改:https://wikidocs.adobe.com/wiki/display/coldfusionen/cffile