2017-07-31 11 views
0

jQuery-File-Uploadに基づいて、Primefaces(JSFフレームワーク)からfileUploadを使用しています。私は、FirefoxまたはChromeの新しいFile APIのおかげで、このコンポーネントがドラッグをサポートするようにしようとしています。& https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/webkitdirectory#Exampleこれまでは、パススルー属性のおかげでこれを実現できました。アップロードしたサーバー側のrelativePathファイル

"webkitRelativePath"は、アップロードされたファイルの相対パスを知ることを可能にします。

私はこの情報をサーバー側でどのように取得できるのだろうかと思っています。そのため、この新しい情報でオブジェクトを作成できます。

ありがとうございました。

+0

クライアント側があれば、いつでもそれを '添付'することでサーバーに送信しようとすることができますparamとしてのajax呼び出し。それがうまくいくかどうかはわかりませんが、それは可能です。 – Kukeltje

答えて

0

まあ、私はちょうどfileupload.jsから彼をお読みください。

_initXHRData: function (options) { 
    ... 
    formData.append(
    ($.type(options.paramName) === 'array' && 
      options.paramName[index]) || paramName, 
      file, 
      file.uploadName || file.name 
    ); 
    ... 
} 

(webKitRelativePathを含むファイル)を

だから私は、情報がすでにサーバーに渡していると思い、あなたは思いませんか?サーブレット3.0を使用しているので、私はPartオブジェクトからそれを取得することができるはずです...

+0

私は 'file.uploadName ||の代わりにトリックを使用しました。 file.name'私はこの 'file.webkitRelativePath ||を書きました。 webkitRelativePathは "(標準機能ではない)"ですが、uploadNameは有効なプロパティではないようです。 – Rapster

+0

もう一つのトリックは、FormDataに新しいパラメータを追加し、 "-webkitRelativePath"という接尾辞を付けてサーバー側にすることです、キーが存在する場合は試してみてください – Rapster

+0

これについて実際に話しているドキュメントがhttps://github.com/blueimp/jQuery-File-Upload/wiki/How-to-submit-additional-form-dataですが、これをJSFで実現するのは簡単ではありません – Rapster

関連する問題