0

アップロードされたファイルの絶対パスを取得しようとしましたが、解決策が見つかりませんでした。アップロードされたファイルの絶対クライアント側パスを取得できないことを知っています。それはセキュリティリスクと考えられているので、ブラウザの制限。したがって、p:uploadeFileシンプルモードを使用する場合:[http://www.primefaces.org/showcase-labs/ui/fileUploadSimple.jsf] [1]

これは、選択したプロジェクトの絶対パスを含むinputTextフィールドになるため、送信ボタンをクリックする前に管理対象Beanで取得できます(つまり、ファイルをサーバーにアップロードします)。

<p:fileUpload value="#{fileUploadController.file}" mode="simple"/>
 <p:commandButton value="Submit" ajax="false" 
   actionListener="#{fileUploadController.upload}"/>  

そして、多くの感謝

4

1 に答える 1

3

できません。セキュリティ バグのある古いブラウザの中には、JavaScript でフル パスを提供するものがありますが、最新のブラウザはすべてベース ファイル名のみを返し、IE や Webkit ブラウザHtmlInputElement#valueのように偽のパスを先頭に追加するものさえあります。c:\fakepath

いずれにしても、この情報に関心を持つべきではありません。これは、アップロードされたファイルを処理する自尊心のあるビジネス ロジックとはまったく関係ありません。これで解決しようと考えていた機能要件は、別の方法で解決する必要があります。

于 2012-10-01T18:56:52.403 に答える