以下は私がjsf2.0に持っているものです
<tr>
<th width="19%" align="left"><h:outputLabel value="Photo" /></th>
<th width="2%">:</th>
<td width="19%"><h:inputText value="#{PersonalInformationDataBean.photo}" size="80" id="photo" readonly="true"/>
<input type="file" name="pathPhoto" onchange="alert('you changed me...'+window.document.patentForm.pathPhoto.value);window.document.patentForm.photo.value=window.document.patentForm.pathPhoto.value"/></td>
</tr>
ボタンをクリックしChoose File
てファイルを選択すると、別のパスが表示されます。
ChromeとSafari
パス名をとして取得しますC:\fakepath\jobs_dubizzle.rtf
。場所に関係なく、常に出力が返されC:\fakepath\FileName
ます。
Mozilla Firefox
それは私に完全な道を与えてくれます。
なぜ私がこのようになっているのか分かりますか?(ブラウザ間での動作の違い。)そして、どのように克服するのですか?MySQLデータにパスを格納するために同じパスを使用できるように、そのファイルのフルパスが必要です。
アップデート1
私がやりたかったのは、フォームを送信するときに、そのファイルをmysqlデータにアップロードすることです。今は画像を選んでいます。画像をアップロードするには、ここに記載されているコードを使用します。
ご覧のとおり、以下のステートメントにはフルパスが必要です。
File image = new File("C:/image.jpg");
そのため、選択したファイルのフルパスを取得したいと思いました。
これを取得するためのアイデアはありますか?