- PR -

FileItemで単純なフォームデータを取得する方法について

1
投稿者投稿内容
がお
会議室デビュー日: 2005/12/02
投稿数: 17
投稿日時: 2006-01-01 13:46
こんにちわ。

ファイルのアップロードとラジオボタン等のFormデータを取得したいのですが、
FileItemのisFormField()で単純なフォームデータであったと判断した場合に、
その後で、単純なフォームデータを取得する方法が分かりません。
FileItemにそれらしきメソッドも見つかりませんでした。
どなたかお教え願います。
がお
会議室デビュー日: 2005/12/02
投稿数: 17
投稿日時: 2006-01-01 14:04
ちなみに以下のような場所で取得したいと思っております。

コード:
	//アップロードデータを取得、Listオブジェクトに格納
	List list = dfu.parseRequest(req);
	Iterator iterator = list.iterator();

	//アップロードデータを順に処理
	while(iterator.hasNext()){
				FileItem fItem = (FileItem)iterator.next();

		//ファイルデータの場合if内を実行
		if(!(fItem.isFormField())){
			//ファイルデータのファイル名(PATH名含む)を取得
			String fileName = fItem.getName();
			if((fileName != null) && (!fileName.equals(""))){
				//PATH名を除くファイル名のみを取得
				fileName=(new File(fileName)).getName();
				//ファイルデータを指定されたファイルに書き出し
				fItem.write(new File(path + "/" + fileName));
			}
		}else{
			//■■■ここでフォームデータの取得を行いたいです

		}
	}


coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2006-01-01 14:18
これは、org.apache.commons.fileupload パッケージのことですか?

普通に fItem.getString() で取れるはずですが、上手くいかなかったのでしょうか?
がお
会議室デビュー日: 2005/12/02
投稿数: 17
投稿日時: 2006-01-01 16:02
返答ありがとうございます。

教えて頂いた方法でVALUEの内容は取得できました。
しかし、NAME="q1"のq1という文字列は取得できませんでした。
この内容はどうすれば取得する事ができますでしょうか?

<INPUT TYPE="radio" NAME="q1" VALUE="はい">はい
<INPUT TYPE="radio" NAME="q1" VALUE="いいえ">いいえ
<INPUT TYPE="radio" NAME="q1" VALUE="どちらでもない">どちらでもない
がお
会議室デビュー日: 2005/12/02
投稿数: 17
投稿日時: 2006-01-01 16:08
解決できました。
fItem.getFieldName()
とすれば良かったのですね。
coasm
大ベテラン
会議室デビュー日: 2001/11/26
投稿数: 237
投稿日時: 2006-01-02 00:19
解決したようで、なによりでした。

今後は、ちゃんとドキュメントを読んだ上で、一通り試行してから質問するようにして下さい。
1

スキルアップ/キャリアアップ(JOB@IT)