OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ファイルをアップロードするとファイルの中に・・・

  • すぐに回答を!
  • 質問No.186365
  • 閲覧数97
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

今、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」がなんなのかさっぱり
わからず、切り離すにもどうしたらいいのかわからない状態なのです。
 何か良い知恵を貸してください。
また、そういったことを詳しく乗せているサイトの情報などもお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル9

ベストアンサー率 53% (41/76)

バウンダリとは区切り文字です。
MIMEタイプの1つであるマルチパート形式であるデータの場合に必ずついてきます。
具体的には、

Content-Type: multipart/form-data; bondary=---------------------------10265533117308

がマルチパートメッセージの開始を示すものです。
複数のメッセージ(=データ)は「boundary=」以降の文字列で区切られていることを示しています。
また区切り文字列(この場合は---------------------------10265533117308 )の次の行には次データある場合は必ずMIMEタイプやデータタイプの宣言が付きます。

content-disposition: form-data; name="submitter" ←これです。

このような構造になっているので、メッセージ全体をスキャンして必要な部分のみを切り出せば良いことになります。

参考URLはRFC文書の日本語訳リンク集です。
詳細はMIME関連のRFCをご覧ください。
お礼コメント
noname#4663

ありがとうございます。おかげさまで不要なデータを取り除くことができました。URLのほうも勉強になりました。また、アドバイスお願いしますね。
投稿日時 - 2001-12-18 08:51:06
-PR-
-PR-
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ