Linux の ColdFusion にフォームを投稿しています。フォームにはファイル フィールドがあります。CF では、フォーム タグに enctype="multipart/form-data" 属性が必要です。これがある場合、「JRun サーブレット エラー - 500 そのようなファイルまたはディレクトリはありません」というメッセージが表示されます。
属性を削除すると、フォームがポストされ、CF "enctype=multipart/form-data" エラーが発生します。
何をすべきか?
以下は、フォームの削除されたバージョンです。
<form action="post.cfm" name="form2" id="port_form" method="post" enctype="multipart/form-data">
<input type="text" id="name" name="name" value="#port_name#"><br>
<input type="file" id="before" name="before"><br>
<input type="hidden" name="port_id" value="#port_id#" />
<button type="submit" name="post"> Post Portfolio Item </button>
</form>
これが私が投稿しているページです(post.cfm)
<cfif form.before neq "">
<cfinvoke component = "#application.cfcPath#.file" method = "upload" returnVariable = "beforeFile" theField="before">
<cfelse>
<cfset beforeFile = ''>
</cfif>
<cfif form.after neq "">
<cfinvoke component = "#application.cfcPath#.file" method = "upload" returnVariable = "afterFile" theField="after">
<cfelse>
<cfset afterFile = ''>
</cfif>
<cfinvoke component = "#application.cfcPath#.portfolio" method = "post" beforeFile="#beforeFile#" afterFile="#afterFile#">
<cfif form.port_id eq 0>
<cfset message = "The Portfolio Item has been successfully inserted.">
<cfelse>
<cfset message = "The Portfolio Item has been successfully updated.">
</cfif>
<cf_forward fuseaction="#fusebox.circuit#.home" message="#message#">