I have a multiple p:fileUpload
, I need to upload from 1 to N files on server, after uploading I need to know how many files were uploaded and then start processing method. How can I know when all files are uploaded? I have not found any event for multiple upload, there is event only for individual files, oncomplete
in p:fileUpload
also works for every file individually. I had idea to use additional button to invoke processing method, but this is not safe, because user can push this button before all files are uploaded. Who can advice me something?
Depending on the version of OneDrive or SharePoint that you're using, you may also be able to upload multiple files by holding down either the Ctrl or Shift key, and selecting more than one file.
Uploading is the transmission of a file from one computer system to another, usually larger computer system. From a network user's point-of-view, to upload a file is to send it to another computer that is set up to receive it.
For other people who may face the same problem.
The file upload component has 'files' property which contain the list of files to be uploaded. As soon as a file uploaded it is removed from the 'files' array, thus when last file is uploaded the 'files' will be empty. This could be used to detect the moment when the last file is uploaded. Afterwards you can trigger remote command to do whatever you want.
Code example:
<h:form enctype="multipart/form-data">
<p:fileUpload id="files"
widgetVar="fileUploadWidget"
mode="advanced"
multiple="true"
oncomplete="handleMultiFileUploadRequest(PF('fileUploadWidget'), validateFiles);"/>
<p:remoteCommand name="validateFiles" actionListener="#{Your action}"/>
<script type="text/javascript">
function handleMultiFileUploadRequest(fileupload, remoteButton) {
if (fileupload.files.length === 0) {
if (remoteButton) {
remoteButton();
}
}
}
</script>
</h:form>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With