コンポーネントに処理(CRUDビヘイビア)のために提出したいフォームがあります。問題は、multipart/form-dataをコンポーネントに渡してファイルの場所が失われているようです。ファイルをアップロードする必要があるコンポーネントの部分に到達すると、悪名高いフォームフィールドにファイルエラーが含まれていません。CFFILE - コンポーネントを使用してファイルをアップロードする
私はなぜこれが起こって、100%確実ではないが、私は予想通りcffile
行動すべてが動作しますが、.CFMページのようなものない場合は行い.CFMページに直接フォームを送信した場合:
<cfobject name="process_form" component="processor" />
<cfset result = process_form.upload(form) />
を
コンポーネント "プロセッサ"がアップロードを実行しようとすると、フォームフィールドにファイルが含まれていません。
私のプロセッサは、次のようになります。私はその周りに#記号なしで変数arguments.form_data.file_1
を使用しようとすると、私はエラーを取得している、
<cfcomponent name="processor">
<cffunction name="upload" returntype="string">
<cfargument name="form_data" type="struct" />
<cffile action="upload" filefield="#arguments.form_data.file_1#" ...>
[ ... ]
</cffunction>
</cfcomponent>
もう一つ注意すべき:
The form field arguments.form_data.file_1 did not contain a file.
た場合、私はティを修正する方法上の任意のアイデア
The form field C:\JRun4\servers\cfusion\SERVER-INF\temp\cfusion-war-tmp\neotmp7350969777287007477.tmp did not contain a file.
:私が得る変数の周りに#記号を置きます問題?私はむしろコンポーネント内にすべての処理アクションを持っていますが、今はその作業を行うことができません。
ありがとうございます! ウィル
私はちょうどそれを試して、私は得た:フォームフィールドform_data.file_1は、ファイルが含まれていませんでした。 – wblakenc
@wblakenc、申し訳ありませんが、私はばかだとコピーして貼り付けたものを見ていませんでした。フィールド名 'file_1'を使うことができます。私は元の答えを修正しました。 –
これに遅れて返事して申し訳ありません。あなたは正しいです!素晴らしい答え。私は "file_1"フィールドがまだ範囲内にあるかどうかはわかりませんが、うまくいくようです。再度、感謝します。 – wblakenc