2012-03-05 5 views
0

htmlからファイル名の完全なパスを取得します。javaサーブレットを使用してhtmlからファイル名のフルパスを取得するには

コード:

<form action="test" method="post"> 
    <p>Enter Name : <input type="text" name="name"></p> 
    <p>Choose file : <input type="file" name="fName"></p> 
    <p><input type="submit" value="Enter"></p> 
</form> 

私は、HTMLのコードの上に書いたと私は、サーブレットからファイル名を取得しました。

String fName = request.getParameter("fName"); 

しかし、ファイル名のみを取得していて、ファイル名の完全なパスを取得できませんでした。私はファイル名の完全なパスを取得するために表示するいくつかのサイトを見つけた。それは次のようなコードです。

<form action="test" method="post" enctype="multipart/form-data"> 

コード上方用い、名とfnameがヌル値戻りあります。

ファイル名のフルパスを取得するにはどうすればよいですか?私を説明してください!ありがとう。

+0

最後の属性は 'enctypt =" multipart/form-data "'ではない 'encrypt' –

+0

encrypt =" multipart/form-date "を使用すると、request.getParameter(" paramname ")を使用してフォーム情報を取得します –

+0

これを読んで自分自身に教えてください:http://stackoverflow.com/questions/81180/how-to-get-the-file-path-from-html-input-form-in-firefox -3/3374408#3374408パスに頼らないでください。 **トリム**それが存在するときそれをオフ!あるいはそれ以上に、それを完全に無視し、それにあなた自身のID /名前を付けてください。 – BalusC

答えて

1

ブラウザによって異なります。一部のブラウザは完全なパスを送信しますが、これはセキュリティ上のリスクとみなされます。これはクライアントシステムに関することを伝える可能性があるため、最新のブラウザのほとんどはファイル名を送信するだけです。なぜフルパスが必要なのですか?

+0

私はファイルのデータを読んで、このデータがDBにあるかどうかをチェックする必要があるためです。 ** IO Error:指定されたファイルが見つかりません**ファイルの完全なパスを取得しなかった場合に発生します。 –

+0

とにかくファイルにアクセスすることはできません。あなたは実際にHTMLフォームでファイル提出の仕方を誤解しているようです。また、Javaサーブレットは標準でファイルのアップロード(enctype = "multipart/form-data")を処理できません。 .jarファイルとサンプルを含むhttp://commons.apache.org/fileupload/を見てみてください – MTilsted

-1

フルパスを取得したい場合。 「ファイルをサーバーにアップロードするときにローカルディレクトリパスを含める」を有効にするだけです。 有効にする手順: インターネットオプション - >セキュリティ - >カスタム - >サーバーにファイルをアップロードするときにローカルディレクトリパスを含めます。 コード String fName = request.getParameter("fName"); は、あなたに合計パスを与えます。

関連する問題