2016-10-18 16 views
6

私は現在、プライムファイルfileUploadコンポーネントのドラッグ&ドロップ機能を使用しています。それは正常に動作しますが、私が望むのは、ボタンをクリックする必要なしに、ファイルをどこにでも私のページのどこにでもドラッグすることでファイルを直接アップロードすることです。JSFファイルをページ内の任意の場所にドラッグしてファイルアップロード

$('.dropzone').on({ 
    'dragover dragenter': function (e) { 
     e.preventDefault(); 
     e.stopPropagation(); 
    }, 
    'drop': function (e) { 
     var dataTransfer = e.originalEvent.dataTransfer; 
     if (dataTransfer && dataTransfer.files.length) { 
      e.preventDefault(); 
      e.stopPropagation(); 
      $.each(dataTransfer.files, function (i, file) { 

       uploadFile([{"name": "filename", "value": file.name}]); 
      }); 
     } 
    } 
}); 

<p:remoteCommand name="uploadFile" action="#{bean.uploadFile()}" /> 

public void uploadFile(){ 
    String filename = 
     FacesContext.getCurrentInstance() 
     .getExternalContext().getRequestParameterMap().get("filename"); 
} 

問題は、これがなく、ファイル自体のために、ファイル名のために働くということです。

は、私はこれを試してみました。これはとにかく正しいアプローチですか、 filesリストをPrimefaces fileに転送する方法がありますか?GUIコンポーネントを使用せずにファイルをプログラムでアップロードして提出しますか?

+0

は、あなたはこれを試してみました(http://stackoverflow.com/questions/18439699/primefaces-file-upload-drop-file-outside-of-pfileupload-anywhere-in-the-page [SO答えます] ) 前? – malaguna

+0

はい、動作しませんでした。このソリューションがまだPrimefaces 6.0で動作するかどうかはわかりません。 – sinclair

+2

あなたの必要性を満たしているかどうかはわかりませんが、このことがあります:[Dropzone](http://stackoverflow.com/questions/38018632/use-dropzone-with-jsf) – sunofkyuss

答えて

-2

dragDropSupport="true"を試しましたか?

<p:fileUpload fileUploadListener="#{fileUploadView.handleFileUpload}" mode="advanced" dragDropSupport="true" 
         update="messages" sizeLimit="100000" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" /> 

非常にうまく動作します。

+2

これは答えていない*「私の望むのは、ファイルをどこにでもドラッグしてアップロードすることです」* – BalusC

0

すでにショーケースにはあります。 http://www.primefaces.org/showcase/ui/file/upload/auto.xhtml

これを行うには、auto="true"が必要です。

更新:

だけでファイルアップロードのdivをレンダリングした後、次のJavaScriptを実行します。 次に、許可されたファイルタイプをページのどこにでもドロップできます。

$('.ui-fileupload').fileupload({ 
     dropZone: $(document) 
}); 
+2

これは答えません*「ファイルをどこにでもドラッグして直接アップロードできます」* – BalusC

+0

@BalusC正確に答えられないのは何ですか?あなたは説明することができます... – sura2k

+0

ええ、質問はそれを述べています。回答/コメントを投稿する前に、質問(およびすべてのコメントとその他の回答)を読んでみてください。 – BalusC

関連する問題