今、JAVAservletでファイルをアップロードするプログラムを作成しています。
であるサイトを参考に実装することには成功したのですが、予期せぬことに
リクエスト内にある取り出す必要のない情報もいっしょにファイルに書き込まれて
しまいます。FORMのボタンの情報が一番最後についてくるのです。
content-Type: multipart/form-data; boundary= ---------------------------10265533117308
-----------------------------10265533117308
content-disposition: form-data; name="submitter"
username
-----------------------------10265533117308
content-disposition: form-data; name="Uploaded file"; filename="abc"
[... contents ...] ← ココのみを取り出したい
-----------------------------10265533117308
が、この場所にあるFORMボタンの名前などの情報も引っ付いてしまっている。
------------------------------------------
どうやら、boundary 文字列 で区切られているという事は
調べたのですが、かといって「boundary」がなんなのかさっぱり
わからず、切り離すにもどうしたらいいのかわからない状態なのです。
何か良い知恵を貸してください。
また、そういったことを詳しく乗せているサイトの情報などもお願いします。
No.1ベストアンサー
- 回答日時:
バウンダリとは区切り文字です。
MIMEタイプの1つであるマルチパート形式であるデータの場合に必ずついてきます。
具体的には、
Content-Type: multipart/form-data; bondary=---------------------------10265533117308
がマルチパートメッセージの開始を示すものです。
複数のメッセージ(=データ)は「boundary=」以降の文字列で区切られていることを示しています。
また区切り文字列(この場合は---------------------------10265533117308 )の次の行には次データある場合は必ずMIMEタイプやデータタイプの宣言が付きます。
content-disposition: form-data; name="submitter" ←これです。
このような構造になっているので、メッセージ全体をスキャンして必要な部分のみを切り出せば良いことになります。
参考URLはRFC文書の日本語訳リンク集です。
詳細はMIME関連のRFCをご覧ください。
参考URL:http://www.se.hiroshima-u.ac.jp/~isaki/rfc/list. …
ありがとうございます。おかげさまで不要なデータを取り除くことができました。URLのほうも勉強になりました。また、アドバイスお願いしますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リクエストに応じたselectedの...
-
フォーム上で押されたボタンに...
-
「<c:forEach タグが終了し...
-
int型の内容をbyteの配列にコピー
-
jspでjavascript関数へ引数を渡...
-
HashMapで、valueにマッピング...
-
StrutsでPOSTのデータ(リクエ...
-
ラジオボタンの選択肢をサーブ...
-
JSPでテキストボックスのループ...
-
フォームで同じ複数のnameで違...
-
jspファイルで注文フォームの合...
-
JSP+Servletで終了ボタン
-
Struts2のifタグについて
-
JSPでサーバーにファイルのアッ...
-
JSPでのサブミット判定
-
formでテキストとファイルタイ...
-
jspの文字化けの解消方法を教え...
-
JSPでのリストボックス表示
-
JSP→JSP フォームチェック
-
JSFでJavaScriptを使用するには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム上で押されたボタンに...
-
リクエストに応じたselectedの...
-
フォームで同じ複数のnameで違...
-
int型の内容をbyteの配列にコピー
-
javaでDBから取得したデータのJ...
-
「<c:forEach タグが終了し...
-
strutsを使用したjspでjavascri...
-
EL式 true falseを表示
-
JSPでのリストボックス表示
-
StrutsでPOSTのデータ(リクエ...
-
formでテキストとファイルタイ...
-
jspファイルで注文フォームの合...
-
jspでjavascript関数へ引数を渡...
-
ラジオボタンの選択肢をサーブ...
-
struts-config.xmlの設定
-
動的に作成したラジオボタンの...
-
JSP+Servletで終了ボタン
-
Servletへフォームから配列を送...
-
Strutsでの入力データチェック...
-
JSPとサーブレット間での画面遷...
おすすめ情報