1

このコードを使用してファイルをサーバーにアップロードしようとしていますが、エラーが発生します。

これはコードです:

 <cfif isdefined("form.submit")> 
   <cffile action="uploadall" destination="#expandpath('../../images/Uploads/after')#"> 
 </cfif> 
 <cfform action="#cgi.script_name#" enctype="multipart/form-data"> 
   <cfinput type="file" name="attachment1"><br> 
   <cfinput type="file" name="attachment2"><br> 
   <cfinput type="file" name="attachment3"><br> 
   <cfinput type="submit" name=" submit" value="submit"> 
 </cfform>

これはエラーです:

以下の情報は、デバッグを目的としたWebサイト開発者向けです。

リクエストの処理中にエラーが発生しました

無効なコンテンツタイプ:application/x-www-form-urlencoded。

ファイルのアップロードアクションでは、フォームでenctype = "multipart/form-data"を使用する必要があります。

エラーはE:\ sites \ Example.Com \ tests \ handlers \ upload \ after.cfm:行20で発生しました

4

2 に答える 2

1

あなたは別の解決策に移行したようですが、答えは明らかにクレイジーであるため(そして、Coldfusionの奇妙な落とし穴のいくつかのステレオタイプであるため)、あなたの質問に答えたいと思いました。問題は、<cfform>単にenctype属性をサポートしていないことです。ファイルをアップロードする場合は、プレーンを使用する必要があります<form>。変だよね?

(ファイル入力を含むcfformが、enctypeが自動的に正しく設定されるように、XSLTを変更できると思います。しかし、箱から出してこれを行わない理由は私にはわかりません。)

于 2012-09-06T19:24:51.480 に答える
0

宛先属性で参照しているディレクトリ構造は存在しますか'"#expandpath(' ../../ images / Uploads / after')#"'?

宛先属性が絶対パスでない場合は、ColdFusionの一時ディレクトリからの相対パスです。Webルートまたは実行中のテンプレートとは関係ありません。

これがここのドキュメントからの説明です

ファイルをアップロードするディレクトリのパス名。絶対パス(ドライブ文字とコロン、または円記号で始まる)でない場合は、GetTempDirectory関数によって返されるColdFusion一時ディレクトリからの相対パスです。

于 2012-09-05T19:09:00.893 に答える