getPageContext().getRequest().getParameterMap()のマルチパートさい。
-
25-09-2019 - |
質問
以下のコードを使用している:
<cfif structkeyexists(form, "submitted")>
<cfdump var="#getPageContext().getRequest().getParameterMap()#">
</cfif>
<cfoutput>
<form method="post" action="#cgi.script_name#?firstname=tony">
<input type="text" size="50" name="page[contents][][content]">
<input type="text" size="50" name="page[contents][][content]">
<input type="hidden" name="submitted" value="1">
<input type="submit">
</form>
</cfoutput>
私たちがやっていることを利用getPageContext().getRequest().getParameterMap()取得のハッシュ形式のurlスコープの中でポスト。現在この作品はすべて細やダンディまでのenctype属性には"multipart/form-data"のように:
<cfif structkeyexists(form, "submitted")>
<cfdump var="#getPageContext().getRequest().getParameterMap()#">
</cfif>
<cfoutput>
<form method="post" action="#cgi.script_name#?firstname=tony" enctype="multipart/form-data">
<input type="text" size="50" name="page[contents][][content]">
<input type="text" size="50" name="page[contents][][content]">
<input type="hidden" name="submitted" value="1">
<input type="submit">
</form>
</cfoutput>
うことなのフォームフィールドの値が返されるハッシュから返されたgetPageContext().getRequest().getParameterMap().
なんだろうけど、日本人がどこかしこのデータまたは回避策?
全体のこだgetPageContext().getRequest().getParameterMap()で返します配列として変数の値の代わりにカンマ区切りのリストのような利用の範囲ます。
更新: この8.0.1とcumlative hotfix4適用されます。
更新: その理由は使用できませんlistToArrayで言い分野名 firstname のユーザの入力値の両方の分野(1,2)。何CFいが返す鍵の構造体と呼ばれ firstname コンマdelimetedリストの値(1,2).これは素晴らしいですけど、と言うの ユーザー入り値の分野を含むは次のとおりで のように1,2,3,4のための最初のフィールドと5,6,7,8の分野です。の値の形態構造体のための firstname ます 1,2,3,4,5,6,7,8. この正確とはいえない.今年getParameterMap()配列を返しますの価値 この二つの要素 このように: ["1,2,3,4","5,6,7,8"].
更新: うに見えgetHttpRequestData().内容を返しますLeighの示唆する.定されていたことを踏まえれば空白のバイナリー.
更新: いただきありがとうございますLeighのためのコーヒーに飽きたら寿司にこのウを使用せずにgetPageContextます。フレキシビリティを使用したgetPartsArray()メソッドの形式です。んもんっ!
のアイデアに来てください!
解決
(オーケー.. 2を取る)。これは、CF9で動作するように思えます。私は現時点でCF8でそれをテストすることはできませんよ。あなたはそれを旋回を与えることはできますか?
<cfif structkeyexists(form, "submitted")>
<!--- if this is a multipart request ...--->
<cfset variables.parts = form.getPartsArray()>
<cfif structKeyExists(variables, "parts")>
<cfoutput>
<cfloop array="#variables.parts#" index="p">
<cfif p.isParam()>
isParam() = #p.isParam()# <br />
getName() = #p.getName()# <br />
stringValue() = #p.getStringValue()# <hr />
</cfif>
</cfloop>
</cfoutput>
</cfif>
</cfif>