Next Page

1

Previous Page

スレッド: cflayoutarea 内でmultipart Formのポストができない?

作成日: 01/07/10 10:03 AM

返信: 11

CFIF


半人前


入会日: 05/30/07

投稿数: 38

cflayoutarea 内でmultipart Formのポストができない?
11/14/07 1:00 PM

こんにちは。
CF8 + IIS6 ブラウザIE6 7のwin環境です。

AjaxUIコンポーネントでいろいろ作ろうとしています。
そんな中、jpgファイルをアップロードしてサムネイルを表示させる部分をAjaxにやろうと思い次のようなコードを書きました。

<cflayout name="testlayout" type="hbox">
<cflayoutarea>
 <cfform action="ajaxtest.cfm" method="post" enctype="multipart/form-data">
  <cfinput type="file" name="fup">
  <cfinput type="submit" name="submit">
 </cfform>
</cflayoutarea>
</cflayout>

これを受け取るajaxtext.cfmで、cffileでサーバーにアップしようとすると、
「cffile action="upload" では enctype="multipart/form-data" を使用するフォームが必要です。」
というエラーが発生します。

formを受け取り側でダンプすると、fupが見当たりません。

どうやら送られていないように見えます。

※cfformではなく、すべてhtmlのformにすればファイルのアップロードができますが、それでは意味がありません。


なにか呪文がありますでしょうか。
あるいはCF8の仕様でしょうか。
回避方法があれば教えてください。

よろしくお願いいたします。

Link | Top | Bottom

CFIF


半人前


入会日: 05/30/07

投稿数: 38

Re: cflayoutarea 内でmultipart Formのポストができない?
11/20/07 2:41 PM

いまだ、解決せず・・・
cflayoutarea内でファイルの送信ができないままです。

CFMLリファレンスの1199ページ、
ColdFusion.Ajax.submitForm のところに、

「メモ:この関数は、ファイルフィールドの内容は送信しません。」

とあります。

もしかして、これが全てを語っているんでしょうか。
(T_T)


別ウィンドウ開くしかないかな。orz

Link | Top | Bottom

yosuke


新米


入会日: 08/14/07

投稿数: 14

Re: cflayoutarea 内でmultipart Formのポストができない?
01/23/08 8:54 PM

ポスト値が文字化けして困っております。
multipart Formのポストの問題という点で近い内容でしたので、こちらに投稿しました。

環境:WinXP+CF8、Vista+CF8 

HTMLのFormの属性にて、ENCTYPE="multipart/form-data"の指定をして
Submitした場合に、ポスト値が文字化けします。
みなさんも同じ様な現象が発生するのでしょうか?
CF7ではこの様な事はなかったのですが。。。

また、フォームの属性でENCTYPEを消すと文字化けしません。
methodをGETにすると文字化けしません。

***モジュール***
<form action="test2.cfm" method="POST" ENCTYPE="multipart/form-data">
<input type="Text" name="txt" value="あいう">
<input type="Submit" value="登録">
</form>
***********

属性をENCTYPE="multipart/form-data"、method="POST"にて
文字化けしない方法があれば教えて頂けないでしょうか?

Link | Top | Bottom

CFIF


半人前


入会日: 05/30/07

投稿数: 38

Re: cflayoutarea 内でmultipart Formのポストができない?
01/24/08 1:26 PM

こんにちは。

Windows2003Server+CF8の環境ですが、multipart/form-dataでも問題なくポストできています。

送り側・受け側のcfmのエンコードはそろってますか?

経験上、ソースをUTF-8のBOM付に統一しておくと、文字化けトラブルは少ないと思います。

Link | Top | Bottom

yosuke


新米


入会日: 08/14/07

投稿数: 14

Re: cflayoutarea 内でmultipart Formのポストができない?
01/24/08 2:01 PM

こんにちは。

CFMファイルのエンコードは「Shift_JIS」としております。
送り側、受け側にはそれぞれ下記の定義をしております。

<CFPROCESSINGDIRECTIVE pageencoding="windows-31j">
<CFCONTENT TYPE="text/html; charset=windows-31j">
<CFSCRIPT>
setEncoding("FORM","windows-31j");
setEncoding("URL","windows-31j");
</CFSCRIPT>

CFMX7では問題なかったモジュールが、CF8に変更する事で文字化け
してしまう様な現象です。

仰る通り、ファイルエンコードを「UTF-8」に変更して上記の定義も
「UTF-8」に変更したところ、文字化けは発生しませんでした。

CF8ではShift_JISはNGなのでしょうか?

Link | Top | Bottom

CFIF


半人前


入会日: 05/30/07

投稿数: 38

Re: cflayoutarea 内でmultipart Formのポストができない?
01/24/08 2:51 PM

もしや、CFPROCESSINGDIRECTIVE だけにすると化けないのでは??

cfmのエンコード:Shift_JIS で、

<cfprocessingdirective pageencoding="windows-31j">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-31j" />
<title>test</title>
</head>
<cfif IsDefined("form.txt")><cfdump var="#form#"></cfif>

<body>
<form action="test.cfm" method="POST" ENCTYPE="multipart/form-data">
<input type="Text" name="txt" value="あいう">
<input type="Submit" value="登録">
</form>
</body>
</html>

とすると、こちらの環境では化けませんでした。

Link | Top | Bottom

yosuke


新米


入会日: 08/14/07

投稿数: 14

Re: cflayoutarea 内でmultipart Formのポストができない?
01/24/08 5:39 PM

仰る通りにしたところ、POST値の文字化けは解消しました。
CFCONTENTタグを削除する事で文字化けが無くなるようです。

またCFCONTENTのcharset指定を変えてみると文字化けしないものが
ありました。
化けない:utf-8,ISO-8859-1,iso-2022-jp
化ける :windows-31j,shift_jis

CFCONTENTタグを記載しない事での問題はないのでしょうか?
問題があれば、上記の化けないcharsetを指定せざるを得ないの
ですがどの様に指定する事が最善策なのでしょうか?

Link | Top | Bottom

katz


一人前


入会日: 05/31/07

投稿数: 140

Re: cflayoutarea 内でmultipart Formのポストができない?
01/25/08 4:35 PM

文字コード関連はややこしいので、整理した方が良いと思います。

cfprocessingdirectiveタグ
ColdFusionが.cfmファイルをどの文字コードで読み込むかを指定するタグ。
.cfmファイルの文字コードとこのタグで指定した文字コードが異なると文字化けする。

SetEncoding()関数
ページに渡されるFormパラメータ、或いはUrlパラメーターの文字コードを指定する関数
渡されたパラメーターの文字コードと、この関数で指定した文字コードが異なると文字化けする

cfcontentタグ
そのページをどの文字コードで送出するかを指定するタグ

ちなみに、
ENCTYPE="multipart/form-data"
を取ると文字化けしないとのことなので、バグの可能性が高いです。
FormパラメータのエンコードがUTF-8以外で、ENCTYPE="multipart/form-data"を指定すると文字化けするというバグです。

Link | Top | Bottom

yosuke


新米


入会日: 08/14/07

投稿数: 14

Re: cflayoutarea 内でmultipart Formのポストができない?
01/27/08 10:23 PM

ありがとうございます。情報整理して検討します。
バグがあった場合に、報告(修正依頼)をする場所はあるのでしょうか?

Link | Top | Bottom

katz


一人前


入会日: 05/31/07

投稿数: 140

Re: cflayoutarea 内でmultipart Formのポストができない?
01/27/08 10:59 PM

製品についての要望や障害報告というページがあります。
そちらに不具合をポストしておけば良さそうです。
なお、テクニカルサポートのインシデントを購入されているなら、そちらに問い合わせてみるのも手です。

Link | Top | Bottom

yosuke


新米


入会日: 08/14/07

投稿数: 14

Re: cflayoutarea 内でmultipart Formのポストができない?
01/28/08 8:15 PM

教えて頂きましたページから障害報告を上げさせて頂きます。
ありがとうございました。

Link | Top | Bottom

anakazato


新米


入会日: 02/25/09

投稿数: 3

Re: cflayoutarea 内でmultipart Formのポストができない?
01/07/10 7:03 PM

横レス失礼します。
2年前の件なので、もうご存知なのかもしれませんが・・・。

私も同じ現象に遭遇しました。

それで、今はAdobeサイトにてCF8.0.1(UPDATE1)が公開されており、そちらを適用すると文字化けが無くなりました。

以上、報告まで

Link | Top | Bottom

Next Page

1

Previous Page

新規投稿

ログイン して返信して下さい。