@cdmx/wappler_ac_s3_upload
v0.6.9
Published
App Connect module for S3 Upload.
Maintainers
Readme
��#�#�#�#� �M�a�i�n�t�a�i�n�e�d� �b�y�:� �R�o�n�e�y� �D�s�i�l�v�a�
�
�
�
�#�#� �C�u�s�t�o�m� �S�3� �U�p�l�o�a�d� �C�o�n�t�r�o�l�
�
�T�h�i�s� �i�s� �a� �c�u�s�t�o�m� �S�3� �u�p�l�o�a�d� �c�o�m�p�o�n�e�n�t� �d�e�s�i�g�n�e�d� �t�o� �g�i�v�e� �m�o�r�e� �f�e�a�t�u�r�e�s� �t�o� �S�3� �A�C� �m�o�d�u�l�e� �w�h�e�n� �u�p�l�o�a�d�i�n�g� �f�i�l�e�s�.� �I�t� �i�n�c�l�u�d�e�s� �b�o�t�h� �s�i�n�g�l�e� �f�i�l�e� �u�p�l�o�a�d� �a�n�d� �m�u�l�t�i�p�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�m�p�o�n�e�n�t�s�.�
�
�
�
�#�#� �C�o�m�p�o�n�e�n�t�s�
�
�
�
�#�#�#� �1�.� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �(��c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d��)�
�
�A� �c�o�m�p�o�n�e�n�t� �f�o�r� �u�p�l�o�a�d�i�n�g� �i�n�d�i�v�i�d�u�a�l� �f�i�l�e�s� �w�i�t�h� �v�a�l�i�d�a�t�i�o�n� �a�n�d� �p�r�o�g�r�e�s�s� �t�r�a�c�k�i�n�g�.�
�
�
�
�#�#�#� �2�.� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �(��c�u�s�t�o�m�-�s�3�-�m�u�l�t�i�-�u�p�l�o�a�d��)�
�
�A� �c�o�m�p�o�n�e�n�t� �f�o�r� �u�p�l�o�a�d�i�n�g� �m�u�l�t�i�p�l�e� �f�i�l�e�s� �s�i�m�u�l�t�a�n�e�o�u�s�l�y� �w�i�t�h� �b�a�t�c�h� �v�a�l�i�d�a�t�i�o�n� �a�n�d� �i�n�d�i�v�i�d�u�a�l� �f�i�l�e� �p�r�o�g�r�e�s�s� �t�r�a�c�k�i�n�g�.�
�
�
�
�#�#� �S�3� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �C�o�n�t�r�o�l� �P�r�o�p�e�r�t�i�e�s�:�
�
�P�r�o�p�e�r�t�i�e�s� �f�o�r� �c�o�n�f�i�g�u�r�i�n�g� �t�h�e� �b�e�h�a�v�i�o�r� �a�n�d� �a�p�p�e�a�r�a�n�c�e� �o�f� �t�h�e� �s�i�n�g�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l� �(��c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d��)�.�
�
� � �-� ���I�D���:� �I�d�e�n�t�i�f�i�e�r� �f�o�r� �t�h�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l�.�
�
� � �-� ���C�l�a�s�s���:� �C�S�S� �c�l�a�s�s� �f�o�r� �s�t�y�l�i�n�g� �p�u�r�p�o�s�e�s�.�
�
� � �-� ���U�r�l���:� �W�a�p�p�l�e�r� �A�P�I� �e�n�d�p�o�i�n�t� �(�P�O�S�T�)� �h�a�v�i�n�g� �p�u�t� �f�i�l�e� �f�r�o�m� �t�h�e� �c�u�s�t�o�m� �s�3� �u�p�l�o�a�d�.�
�
� � �-� ���I�n�p�u�t� �n�a�m�e���:� �I�n�p�u�t� �n�a�m�e� �f�o�r� �t�h�e� �i�n�p�u�t� �t�a�g� �a�n�d� �t�o� �s�e�n�d� �a�s� �p�o�s�t� �p�a�r�a�m�e�t�e�r� �n�a�m�e� �f�o�r� �t�h�e� �f�i�l�e�,� �d�e�f�a�u�l�t� �i�s� ��s�3�_�u�p�l�o�a�d��.�
�
� � �-� ���A�c�c�e�p�t���:� �A�l�l�o�w�e�d� �f�i�l�e� �t�y�p�e�s�/�e�x�t�e�n�s�i�o�n�s� �f�o�r� �u�p�l�o�a�d�.�
�
� � �-� ���V�a�l�i�d�a�t�i�o�n� �U�r�l���:� �W�a�p�p�l�e�r� �A�P�I� �e�n�d�p�o�i�n�t� �t�o� �v�a�l�i�d�a�t�e� �f�i�l�e�,� �(�S�e�n�d�s� �t�h�e� �f�i�l�e� �i�n� �r�e�q�u�e�s�t�)�.�L�e�a�v�e� ��b�l�a�n�k�� �i�f� �y�o�u� �d�o�n�'�t� �w�a�n�t� �s�e�r�v�e�r�-�s�i�d�e� �v�a�l�i�d�a�t�i�o�n�.�
�
� � �-� ���V�a�l�i�d�a�t�i�o�n� �M�e�s�s�a�g�e���:� �M�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �f�i�l�e� �t�y�p�e� �v�a�l�i�d�a�t�i�o�n� �f�a�i�l�s�.�
�
� � �-� ���F�i�l�e� �S�i�z�e� �L�i�m�i�t���:� �F�i�l�e� �s�i�z�e� �l�i�m�i�t� �i�n� �b�y�t�e�s�.�
�
� � �-� ���A�u�t�o� �U�p�l�o�a�d���:� �O�p�t�i�o�n� �t�o� �a�u�t�o�m�a�t�i�c�a�l�l�y� �u�p�l�o�a�d� �f�i�l�e�s� �a�f�t�e�r� �s�e�l�e�c�t�i�o�n�.�
�
� � �-� ���C�S�V� �O�p�t�i�o�n�s���:� �A�d�d�i�t�i�o�n�a�l� �p�r�o�p�e�r�t�i�e�s� �s�p�e�c�i�f�i�c�a�l�l�y� �f�o�r� �h�a�n�d�l�i�n�g� �C�S�V� �f�i�l�e�s�.�
�
� � �-� ���C�S�V� �R�o�w� �L�i�m�i�t���:� �M�a�x�i�m�u�m� �n�u�m�b�e�r� �o�f� �r�o�w�s� �a�l�l�o�w�e�d� �i�n� �a� �C�S�V� �f�i�l�e�.�
�
� � �-� ���C�S�V� �L�i�m�i�t� �V�a�l�i�d�a�t�i�o�n���:� �V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �t�h�e� �C�S�V� �r�o�w� �l�i�m�i�t� �i�s� �e�x�c�e�e�d�e�d�.�
�
� � �-� ���C�S�V� �N�o� �R�e�c�o�r�d�s� �V�a�l�i�d�a�t�i�o�n���:� �V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �a� �C�S�V� �f�i�l�e� �h�a�s� �n�o� �r�e�c�o�r�d�s�.�
�
�
�
�#�#� �S�3� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �C�o�n�t�r�o�l� �P�r�o�p�e�r�t�i�e�s�:�
�
�P�r�o�p�e�r�t�i�e�s� �f�o�r� �c�o�n�f�i�g�u�r�i�n�g� �t�h�e� �b�e�h�a�v�i�o�r� �a�n�d� �a�p�p�e�a�r�a�n�c�e� �o�f� �t�h�e� �m�u�l�t�i�p�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l� �(��c�u�s�t�o�m�-�s�3�-�m�u�l�t�i�-�u�p�l�o�a�d��)�.�
�
�
�
� � �-� ���I�D���:� �I�d�e�n�t�i�f�i�e�r� �f�o�r� �t�h�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l�.�
�
� � �-� ���C�l�a�s�s���:� �C�S�S� �c�l�a�s�s� �f�o�r� �s�t�y�l�i�n�g� �p�u�r�p�o�s�e�s�.�
�
� � �-� ���U�r�l���:� �W�a�p�p�l�e�r� �A�P�I� �e�n�d�p�o�i�n�t� �(�P�O�S�T�)� �f�o�r� �h�a�n�d�l�i�n�g� �m�u�l�t�i�p�l�e� �f�i�l�e� �u�p�l�o�a�d�s�.�
�
� � �-� ���I�n�p�u�t� �n�a�m�e���:� �I�n�p�u�t� �n�a�m�e� �f�o�r� �t�h�e� �i�n�p�u�t� �t�a�g� �a�n�d� �t�o� �s�e�n�d� �a�s� �p�o�s�t� �p�a�r�a�m�e�t�e�r� �n�a�m�e� �f�o�r� �t�h�e� �f�i�l�e�s� �a�r�r�a�y�.� �M�a�k�e� �s�u�r�e� �y�o�u� �a�p�p�e�n�d� ��[�]�� �t�o� �t�h�e� �n�a�m�e� �(�d�e�f�a�u�l�t�:� ��s�3�_�u�p�l�o�a�d�[�]��)�.�
�
� � �-� ���A�c�c�e�p�t���:� �A�l�l�o�w�e�d� �f�i�l�e� �t�y�p�e�s�/�e�x�t�e�n�s�i�o�n�s� �f�o�r� �u�p�l�o�a�d�.�
�
� � �-� ���V�a�l�i�d�a�t�i�o�n� �U�r�l���:� �W�a�p�p�l�e�r� �A�P�I� �e�n�d�p�o�i�n�t� �t�o� �v�a�l�i�d�a�t�e� �f�i�l�e�s�.� �S�e�n�d�s� �a�l�l� �f�i�l�e�s� �i�n� �o�n�e� �r�e�q�u�e�s�t�.� �L�e�a�v�e� �b�l�a�n�k� �i�f� �y�o�u� �d�o�n�'�t� �w�a�n�t� �s�e�r�v�e�r�-�s�i�d�e� �v�a�l�i�d�a�t�i�o�n�.� �E�x�p�e�c�t�s� ��v�a�l�i�d�a�t�e�d�F�i�l�e�s�� �i�n� �t�h�e� �r�e�s�p�o�n�s�e� �f�r�o�m� �t�h�e� �A�P�I�,� �w�h�i�c�h� �s�h�o�u�l�d� �b�e� �a�n� �a�r�r�a�y� �o�f� �o�b�j�e�c�t�s� �w�i�t�h� �t�h�e� �f�o�l�l�o�w�i�n�g� �s�t�r�u�c�t�u�r�e�:�
�
�
�
� � � � ����j�s�o�n�
�
� � � � �{�
�
� � � � � � �"�i�s�_�v�a�l�i�d�"�:� �t�r�u�e�,�
�
� � � � � � �"�m�e�s�s�a�g�e�"�:� �"�V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �h�e�r�e�"�,�
�
� � � � � � �"�f�i�l�e�D�a�t�a�"�:� �{�
�
� � � � � � � � �"�n�a�m�e�"�:� �"�f�i�l�e�n�a�m�e�.�c�s�v�"�,�
�
� � � � � � � � �"�s�h�a�2�5�6�"�:� �"�f�i�l�e�-�s�h�a�-�v�a�l�u�e�"�
�
� � � � � � �}�
�
� � � � �}�
�
� � � � ����
�
� � �-� ���V�a�l�i�d�a�t�i�o�n� �M�e�s�s�a�g�e���:� �M�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �f�i�l�e� �t�y�p�e� �v�a�l�i�d�a�t�i�o�n� �f�a�i�l�s�.�
�
� � �-� ���F�i�l�e� �S�i�z�e� �L�i�m�i�t���:� �I�n�d�i�v�i�d�u�a�l� �f�i�l�e� �s�i�z�e� �l�i�m�i�t� �i�n� �b�y�t�e�s�.�
�
� � �-� ���T�o�t�a�l� �S�i�z�e� �L�i�m�i�t���:� �T�o�t�a�l� �c�o�m�b�i�n�e�d� �s�i�z�e� �l�i�m�i�t� �f�o�r� �a�l�l� �f�i�l�e�s� �i�n� �b�y�t�e�s� �(�d�e�f�a�u�l�t�:� �1�0�M�B�)�.�
�
� � �-� ���T�o�t�a�l� �F�i�l�e�s� �L�i�m�i�t���:� �M�a�x�i�m�u�m� �n�u�m�b�e�r� �o�f� �f�i�l�e�s� �t�h�a�t� �c�a�n� �b�e� �u�p�l�o�a�d�e�d� �a�t� �o�n�c�e� �(�d�e�f�a�u�l�t�:� �5�)�.�
�
� � �-� ���A�u�t�o� �U�p�l�o�a�d���:� �O�p�t�i�o�n� �t�o� �a�u�t�o�m�a�t�i�c�a�l�l�y� �u�p�l�o�a�d� �f�i�l�e�s� �a�f�t�e�r� �s�e�l�e�c�t�i�o�n�.�
�
� � �-� ���C�S�V� �O�p�t�i�o�n�s���:� �A�d�d�i�t�i�o�n�a�l� �p�r�o�p�e�r�t�i�e�s� �s�p�e�c�i�f�i�c�a�l�l�y� �f�o�r� �h�a�n�d�l�i�n�g� �C�S�V� �f�i�l�e�s�.�
�
� � �-� ���C�S�V� �R�o�w� �L�i�m�i�t���:� �M�a�x�i�m�u�m� �n�u�m�b�e�r� �o�f� �r�o�w�s� �a�l�l�o�w�e�d� �i�n� �a� �C�S�V� �f�i�l�e�.�
�
� � �-� ���C�S�V� �L�i�m�i�t� �V�a�l�i�d�a�t�i�o�n���:� �V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �t�h�e� �C�S�V� �r�o�w� �l�i�m�i�t� �i�s� �e�x�c�e�e�d�e�d�.�
�
� � �-� ���C�S�V� �N�o� �R�e�c�o�r�d�s� �V�a�l�i�d�a�t�i�o�n���:� �V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �a� �C�S�V� �f�i�l�e� �h�a�s� �n�o� �r�e�c�o�r�d�s�.�
�
�
�
�#�#� �A�c�t�i�o�n�s�
�
�
�
�#�#�#� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �A�c�t�i�o�n�s� �(��c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d��)�
�
�-� ���A�b�o�r�t���:� �A�c�t�i�o�n� �t�o� �a�b�o�r�t� �t�h�e� �u�p�l�o�a�d� �p�r�o�c�e�s�s�.�
�
�-� ���R�e�s�e�t���:� �A�c�t�i�o�n� �t�o� �r�e�s�e�t� �t�h�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l�.�
�
�-� ���S�e�l�e�c�t���:� �A�c�t�i�o�n� �t�o� �s�e�l�e�c�t� �a� �f�i�l�e� �f�o�r� �u�p�l�o�a�d�.�
�
�-� ���U�p�l�o�a�d���:� �A�c�t�i�o�n� �t�o� �i�n�i�t�i�a�t�e� �t�h�e� �f�i�l�e� �u�p�l�o�a�d� �p�r�o�c�e�s�s�.�
�
�
�
�#�#�#� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �A�c�t�i�o�n�s� �(��c�u�s�t�o�m�-�s�3�-�m�u�l�t�i�-�u�p�l�o�a�d��)�
�
�-� ���A�b�o�r�t���:� �A�c�t�i�o�n� �t�o� �a�b�o�r�t� �t�h�e� �u�p�l�o�a�d� �p�r�o�c�e�s�s� �f�o�r� �a�l�l� �f�i�l�e�s�.�
�
�-� ���R�e�s�e�t���:� �A�c�t�i�o�n� �t�o� �r�e�s�e�t� �t�h�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l� �a�n�d� �c�l�e�a�r� �a�l�l� �s�e�l�e�c�t�e�d� �f�i�l�e�s�.�
�
�-� ���S�e�l�e�c�t���:� �A�c�t�i�o�n� �t�o� �o�p�e�n� �f�i�l�e� �s�e�l�e�c�t�i�o�n� �d�i�a�l�o�g� �f�o�r� �m�u�l�t�i�p�l�e� �f�i�l�e�s�.�
�
�-� ���R�e�m�o�v�e� �F�i�l�e���:� �A�c�t�i�o�n� �t�o� �r�e�m�o�v�e� �a� �s�p�e�c�i�f�i�c� �f�i�l�e� �f�r�o�m� �t�h�e� �u�p�l�o�a�d� �q�u�e�u�e� �b�y� �i�n�d�e�x�.�
�
�-� ���U�p�l�o�a�d���:� �A�c�t�i�o�n� �t�o� �i�n�i�t�i�a�t�e� �t�h�e� �u�p�l�o�a�d� �p�r�o�c�e�s�s� �f�o�r� �a�l�l� �s�e�l�e�c�t�e�d� �f�i�l�e�s�.�
�
�
�
�#�#� �D�a�t�a� �S�t�r�u�c�t�u�r�e�
�
�
�
�#�#�#� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �D�a�t�a�
�
�T�h�e� �s�i�n�g�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�m�p�o�n�e�n�t� �p�r�o�v�i�d�e�s� �t�h�e� �f�o�l�l�o�w�i�n�g� �d�a�t�a� �s�t�r�u�c�t�u�r�e�:�
�
�-� ���f�i�l�e���:� �T�h�e� �s�e�l�e�c�t�e�d� �f�i�l�e� �o�b�j�e�c�t�
�
�-� ���d�a�t�a���:� �R�e�s�p�o�n�s�e� �d�a�t�a� �f�r�o�m� �t�h�e� �s�e�r�v�e�r� �a�f�t�e�r� �s�u�c�c�e�s�s�f�u�l� �u�p�l�o�a�d�
�
�-� ���d�a�t�a�U�r�l���:� �B�a�s�e�6�4� �d�a�t�a� �U�R�L� �o�f� �t�h�e� �s�e�l�e�c�t�e�d� �f�i�l�e� �f�o�r� �p�r�e�v�i�e�w�
�
�-� ���s�t�a�t�e���:� �U�p�l�o�a�d� �s�t�a�t�e� �o�b�j�e�c�t� �w�i�t�h� �p�r�o�p�e�r�t�i�e�s�:�
�
� � �-� ���i�d�l�e���:� �B�o�o�l�e�a�n� �i�n�d�i�c�a�t�i�n�g� �i�f� �t�h�e� �c�o�m�p�o�n�e�n�t� �i�s� �i�d�l�e�
�
� � �-� ���r�e�a�d�y���:� �B�o�o�l�e�a�n� �i�n�d�i�c�a�t�i�n�g� �i�f� �a� �f�i�l�e� �i�s� �s�e�l�e�c�t�e�d� �a�n�d� �r�e�a�d�y� �t�o� �u�p�l�o�a�d�
�
� � �-� ���u�p�l�o�a�d�i�n�g���:� �B�o�o�l�e�a�n� �i�n�d�i�c�a�t�i�n�g� �i�f� �u�p�l�o�a�d� �i�s� �i�n� �p�r�o�g�r�e�s�s�
�
� � �-� ���d�o�n�e���:� �B�o�o�l�e�a�n� �i�n�d�i�c�a�t�i�n�g� �i�f� �u�p�l�o�a�d� �i�s� �c�o�m�p�l�e�t�e�
�
�-� ���u�p�l�o�a�d�P�r�o�g�r�e�s�s���:� �P�r�o�g�r�e�s�s� �t�r�a�c�k�i�n�g� �o�b�j�e�c�t� �w�i�t�h� �p�r�o�p�e�r�t�i�e�s�:�
�
� � �-� ���p�o�s�i�t�i�o�n���:� �N�u�m�b�e�r� �o�f� �b�y�t�e�s� �u�p�l�o�a�d�e�d�
�
� � �-� ���t�o�t�a�l���:� �T�o�t�a�l� �f�i�l�e� �s�i�z�e� �i�n� �b�y�t�e�s�
�
� � �-� ���p�e�r�c�e�n�t���:� �U�p�l�o�a�d� �p�e�r�c�e�n�t�a�g�e� �(�0�-�1�0�0�)�
�
�
�
�#�#�#� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �D�a�t�a�
�
�T�h�e� �m�u�l�t�i�p�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�m�p�o�n�e�n�t� �p�r�o�v�i�d�e�s� �t�h�e� �f�o�l�l�o�w�i�n�g� �d�a�t�a� �s�t�r�u�c�t�u�r�e�:�
�
�-� ���f�i�l�e�s�D�a�t�a���:� �A�r�r�a�y� �o�f� �f�i�l�e� �o�b�j�e�c�t�s� �w�i�t�h� �p�r�o�p�e�r�t�i�e�s�:�
�
� � �-� ���n�a�m�e���:� �F�i�l�e� �n�a�m�e�
�
� � �-� ���s�i�z�e���:� �F�i�l�e� �s�i�z�e� �i�n� �b�y�t�e�s�
�
� � �-� ���t�y�p�e���:� �M�I�M�E� �t�y�p�e�
�
� � �-� ���d�a�t�a�U�r�l���:� �B�a�s�e�6�4� �d�a�t�a� �U�R�L� �f�o�r� �p�r�e�v�i�e�w�
�
�-� ���f�i�l�e�_�s�i�z�e�_�l�i�m�i�t���:� �I�n�d�i�v�i�d�u�a�l� �f�i�l�e� �s�i�z�e� �l�i�m�i�t� �(�n�u�m�b�e�r�)�
�
�-� ���t�o�t�a�l�_�s�i�z�e�_�l�i�m�i�t���:� �T�o�t�a�l� �f�i�l�e�s� �s�i�z�e� �l�i�m�i�t� �(�n�u�m�b�e�r�)�
�
�-� ���t�o�t�a�l�_�f�i�l�e�s�_�l�i�m�i�t���:� �T�o�t�a�l� �f�i�l�e�s� �l�i�m�i�t� �(�n�u�m�b�e�r�)�
�
�-� ���d�a�t�a���:� �R�e�s�p�o�n�s�e� �d�a�t�a� �f�r�o�m� �t�h�e� �s�e�r�v�e�r� �a�f�t�e�r� �s�u�c�c�e�s�s�f�u�l� �u�p�l�o�a�d�
�
�-� ���s�t�a�t�e���:� �U�p�l�o�a�d� �s�t�a�t�e� �o�b�j�e�c�t� �(�s�a�m�e� �a�s� �s�i�n�g�l�e� �f�i�l�e� �u�p�l�o�a�d�)�
�
�-� ���u�p�l�o�a�d�P�r�o�g�r�e�s�s���:� �E�n�h�a�n�c�e�d� �p�r�o�g�r�e�s�s� �t�r�a�c�k�i�n�g� �o�b�j�e�c�t� �w�i�t�h� �p�r�o�p�e�r�t�i�e�s�:�
�
� � �-� ���t�o�t�a�l�B�y�t�e�s���:� �T�o�t�a�l� �s�i�z�e� �o�f� �a�l�l� �f�i�l�e�s� �i�n� �b�y�t�e�s�
�
� � �-� ���u�p�l�o�a�d�e�d�B�y�t�e�s���:� �N�u�m�b�e�r� �o�f� �b�y�t�e�s� �u�p�l�o�a�d�e�d� �a�c�r�o�s�s� �a�l�l� �f�i�l�e�s�
�
� � �-� ���p�e�r�c�e�n�t���:� �O�v�e�r�a�l�l� �u�p�l�o�a�d� �p�e�r�c�e�n�t�a�g�e� �(�0�-�1�0�0�)�
�
� � �-� ���f�i�l�e�P�r�o�g�r�e�s�s���:� �A�r�r�a�y� �o�f� �i�n�d�i�v�i�d�u�a�l� �f�i�l�e� �p�r�o�g�r�e�s�s� �o�b�j�e�c�t�s�
�
�
�
�#�#� �E�v�e�n�t�s�
�
�
�
�#�#�#� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �E�v�e�n�t�s�
�
�-� ���s�t�a�r�t���:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �b�e�g�i�n�s�
�
�-� ���d�o�n�e���:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �c�o�m�p�l�e�t�e�s� �(�s�u�c�c�e�s�s� �o�r� �f�a�i�l�u�r�e�)�
�
�-� ���e�r�r�o�r���:� �F�i�r�e�d� �w�h�e�n� �a�n� �e�r�r�o�r� �o�c�c�u�r�s�
�
�-� ���i�n�v�a�l�i�d���:� �F�i�r�e�d� �w�h�e�n� �f�i�l�e� �v�a�l�i�d�a�t�i�o�n� �f�a�i�l�s�
�
�-� ���a�b�o�r�t���:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �i�s� �a�b�o�r�t�e�d�
�
�-� ���s�u�c�c�e�s�s���:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �c�o�m�p�l�e�t�e�s� �s�u�c�c�e�s�s�f�u�l�l�y�
�
�-� ���u�p�l�o�a�d���:� �F�i�r�e�d� �d�u�r�i�n�g� �u�p�l�o�a�d� �p�r�o�g�r�e�s�s� �(�P�r�o�g�r�e�s�s�E�v�e�n�t�)�
�
�
�
�#�#�#� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �E�v�e�n�t�s�
�
�-� ���s�t�a�r�t���:� �F�i�r�e�d� �w�h�e�n� �b�a�t�c�h� �u�p�l�o�a�d� �b�e�g�i�n�s�
�
�-� ���d�o�n�e���:� �F�i�r�e�d� �w�h�e�n� �b�a�t�c�h� �u�p�l�o�a�d� �c�o�m�p�l�e�t�e�s�
�
�-� ���e�r�r�o�r���:� �F�i�r�e�d� �w�h�e�n� �a�n� �e�r�r�o�r� �o�c�c�u�r�s� �d�u�r�i�n�g� �u�p�l�o�a�d�
�
�-� ���i�n�v�a�l�i�d���:� �F�i�r�e�d� �w�h�e�n� �f�i�l�e� �v�a�l�i�d�a�t�i�o�n� �f�a�i�l�s�
�
�-� ���a�b�o�r�t���:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �i�s� �a�b�o�r�t�e�d�
�
�-� ���s�u�c�c�e�s�s���:� �F�i�r�e�d� �w�h�e�n� �a�l�l� �f�i�l�e�s� �u�p�l�o�a�d� �s�u�c�c�e�s�s�f�u�l�l�y�
�
�-� ���u�p�l�o�a�d���:� �F�i�r�e�d� �d�u�r�i�n�g� �u�p�l�o�a�d� �p�r�o�g�r�e�s�s� �(�P�r�o�g�r�e�s�s�E�v�e�n�t�)�
�
�-� ���u�p�d�a�t�e�d���:� �F�i�r�e�d� �w�h�e�n� �t�h�e� �f�i�l�e�s� �l�i�s�t� �i�s� �u�p�d�a�t�e�d�
�
�
�
�
�
�#�#�#� �C�S�V� �S�c�h�e�m�a� �V�a�l�i�d�a�t�i�o�n�
�
�
�
�T�h�e� �f�o�l�l�o�w�i�n�g� �J�a�v�a�S�c�r�i�p�t� �c�o�d�e� �s�n�i�p�p�e�t� �d�e�f�i�n�e�s� �t�h�e� �s�c�h�e�m�a� �u�s�e�d� �f�o�r� �v�a�l�i�d�a�t�i�n�g� �C�S�V� �f�i�l�e�s�.� �I�f� �u�s�i�n�g�,� �i�t� �n�e�e�d�s� �t�o� �b�e� �d�e�f�i�n�e�d� �o�n� �t�h�e� �p�a�g�e� �o�r� �a�c�c�e�s�s�i�b�l�e� �t�o� �t�h�e� �p�a�g�e�:�
�
�
�
����h�t�m�l�
�
�<�s�c�r�i�p�t�>�
�
� � �f�u�n�c�t�i�o�n� �i�s�E�m�a�i�l�V�a�l�i�d�(�e�m�a�i�l�)� �{�
�
� � � � �/�/� �R�e�g�u�l�a�r� �e�x�p�r�e�s�s�i�o�n� �t�o� �v�a�l�i�d�a�t�e� �e�m�a�i�l�
�
� � � � �c�o�n�s�t� �e�m�a�i�l�R�e�g�e�x� �=� �/�^�[�^�\�s�@�]�+�@�[�^�\�s�@�]�+�\�.�[�^�\�s�@�]�+�$�/�;�
�
� � � � �r�e�t�u�r�n� �e�m�a�i�l�R�e�g�e�x�.�t�e�s�t�(�e�m�a�i�l�)�;�
�
� � �}�
�
�
�
� � �l�e�t� �v�a�l�_�c�s�v�_�s�c�h�e�m�a� �=� �{�
�
� � � � � � �h�e�a�d�e�r�s�:� �[�
�
� � � � � � � � �{�
�
� � � � � � � � � � �n�a�m�e�:� �'�F�i�r�s�t� �N�a�m�e�'�,�
�
� � � � � � � � � � �r�e�q�u�i�r�e�d�:� �t�r�u�e�,�
�
� � � � � � � � � � �r�e�q�u�i�r�e�d�E�r�r�o�r�:� �f�u�n�c�t�i�o�n� �(�h�e�a�d�e�r�N�a�m�e�,� �r�o�w�N�u�m�b�e�r�,� �c�o�l�u�m�n�N�u�m�b�e�r�)� �{�
�
� � � � � � � � � � � � �r�e�t�u�r�n� ��$�{�h�e�a�d�e�r�N�a�m�e�}� �i�s� �r�e�q�u�i�r�e�d� �i�n� �t�h�e� �$�{�r�o�w�N�u�m�b�e�r�}� �r�o�w� �/� �$�{�c�o�l�u�m�n�N�u�m�b�e�r�}� �c�o�l�u�m�n��
�
� � � � � � � � � � �}�
�
� � � � � � � � �}�,�
�
� � � � � � � � �{�
�
� � � � � � � � � � �n�a�m�e�:� �'�L�a�s�t� �N�a�m�e�'�,�
�
� � � � � � � � � � �r�e�q�u�i�r�e�d�:� �t�r�u�e�,�
�
� � � � � � � � � � �r�e�q�u�i�r�e�d�E�r�r�o�r�:� �f�u�n�c�t�i�o�n� �(�h�e�a�d�e�r�N�a�m�e�,� �r�o�w�N�u�m�b�e�r�,� �c�o�l�u�m�n�N�u�m�b�e�r�)� �{�
�
� � � � � � � � � � � � �r�e�t�u�r�n� ��$�{�h�e�a�d�e�r�N�a�m�e�}� �i�s� �r�e�q�u�i�r�e�d� �i�n� �t�h�e� �$�{�r�o�w�N�u�m�b�e�r�}� �r�o�w� �/� �$�{�c�o�l�u�m�n�N�u�m�b�e�r�}� �c�o�l�u�m�n��
�
� � � � � � � � � � �}�
�
� � � � � � � � �}�,�
�
� � � � � � � � �{�
�
� � � � � � � � � � �n�a�m�e�:� �'�E�m�a�i�l�'�,�
�
� � � � � � � � � � �r�e�q�u�i�r�e�d�:� �f�a�l�s�e�,�
�
� � � � � � � � � � �v�a�l�i�d�a�t�e�:� �f�u�n�c�t�i�o�n� �(�e�m�a�i�l�)� �{�
�
� � � � � � � � � � � � �r�e�t�u�r�n� �i�s�E�m�a�i�l�V�a�l�i�d�(�e�m�a�i�l�)�
�
� � � � � � � � � � �}�,�
�
� � � � � � � � � � �v�a�l�i�d�a�t�e�E�r�r�o�r�:� �f�u�n�c�t�i�o�n� �(�h�e�a�d�e�r�N�a�m�e�,� �r�o�w�N�u�m�b�e�r�,� �c�o�l�u�m�n�N�u�m�b�e�r�)� �{�
�
� � � � � � � � � � � � �r�e�t�u�r�n� ��$�{�h�e�a�d�e�r�N�a�m�e�}� �i�s� �n�o�t� �v�a�l�i�d� �i�n� �t�h�e� �$�{�r�o�w�N�u�m�b�e�r�}� �r�o�w� �/� �$�{�c�o�l�u�m�n�N�u�m�b�e�r�}� �c�o�l�u�m�n��
�
� � � � � � � � � � �}�
�
� � � � � � � � �}�
�
� � � � � � �]�
�
� � � � �}�
�
�<�/�s�c�r�i�p�t�>�
�
����
�
�
�
�#�#�#� �E�x�c�e�l� �S�c�h�e�m�a� �V�a�l�i�d�a�t�i�o�n�
�
�D�e�f�i�n�i�t�i�o�n� �i�s� �s�i�m�i�l�a�r� �t�o� �c�s�v� �s�c�h�e�m�a� �j�u�s�t� �c�h�a�n�g�e� �t�h�e� �n�a�m�e� �o�f� �v�a�r�i�a�b�l�e� �t�o� �v�a�l�_�e�x�c�e�l�_�s�c�h�e�m�a�.� �A�l�s�o� �i�f� �y�o�u� �a�r�e� �c�h�e�c�k�i�n�g� �e�m�p�t�y� �v�a�l�u�e� �y�o�u� �c�o�m�i�n�g� �i�n� �c�o�l�u�m�n�s� �i�t� �w�i�l�l� �b�e� �a�n� �e�m�p�t�y� �s�t�r�i�n�g�
�
�
�
�#�#� �V�a�l�i�d�a�t�i�o�n� �a�n�d� �E�r�r�o�r� �H�a�n�d�l�i�n�g�
�
�
�
�#�#�#� �C�l�i�e�n�t�-�S�i�d�e� �V�a�l�i�d�a�t�i�o�n�
�
�B�o�t�h� �c�o�m�p�o�n�e�n�t�s� �p�e�r�f�o�r�m� �c�l�i�e�n�t�-�s�i�d�e� �v�a�l�i�d�a�t�i�o�n� �f�o�r�:�
�
�-� ���F�i�l�e� �T�y�p�e���:� �V�a�l�i�d�a�t�e�s� �a�g�a�i�n�s�t� �t�h�e� ��a�c�c�e�p�t�� �a�t�t�r�i�b�u�t�e�
�
�-� ���F�i�l�e� �S�i�z�e���:� �V�a�l�i�d�a�t�e�s� �i�n�d�i�v�i�d�u�a�l� �f�i�l�e�s� �a�g�a�i�n�s�t� ��f�i�l�e�_�s�i�z�e�_�l�i�m�i�t��
�
�-� ���T�o�t�a�l� �S�i�z�e��� �(�M�u�l�t�i�-�u�p�l�o�a�d� �o�n�l�y�)�:� �V�a�l�i�d�a�t�e�s� �c�o�m�b�i�n�e�d� �s�i�z�e� �a�g�a�i�n�s�t� ��t�o�t�a�l�_�s�i�z�e�_�l�i�m�i�t��
�
�-� ���F�i�l�e� �C�o�u�n�t��� �(�M�u�l�t�i�-�u�p�l�o�a�d� �o�n�l�y�)�:� �V�a�l�i�d�a�t�e�s� �n�u�m�b�e�r� �o�f� �f�i�l�e�s� �a�g�a�i�n�s�t� ��t�o�t�a�l�_�f�i�l�e�s�_�l�i�m�i�t��
�
�-� ���C�S�V� �C�o�n�t�e�n�t���:� �V�a�l�i�d�a�t�e�s� �C�S�V� �s�t�r�u�c�t�u�r�e� �a�n�d� �r�o�w� �l�i�m�i�t�s� �f�o�r� �C�S�V� �f�i�l�e�s�
�
�
�
�#�#�#� �S�e�r�v�e�r�-�S�i�d�e� �V�a�l�i�d�a�t�i�o�n�
�
�I�f� ��v�a�l�_�u�r�l�� �i�s� �p�r�o�v�i�d�e�d�,� �f�i�l�e�s� �a�r�e� �s�e�n�t� �t�o� �t�h�e� �s�e�r�v�e�r� �f�o�r� �a�d�d�i�t�i�o�n�a�l� �v�a�l�i�d�a�t�i�o�n� �b�e�f�o�r�e� �u�p�l�o�a�d�.�
�
�
�
�#�#�#� �E�r�r�o�r� �M�e�s�s�a�g�e�s�
�
�V�a�l�i�d�a�t�i�o�n� �e�r�r�o�r� �m�e�s�s�a�g�e�s� �a�r�e� �d�i�s�p�l�a�y�e�d� �i�n� �a�n� �e�l�e�m�e�n�t� �w�i�t�h� �I�D� ��{�c�o�m�p�o�n�e�n�t�-�i�d�}�-�v�a�l�-�m�s�g��.� �F�o�r� �e�x�a�m�p�l�e�,� �i�f� �y�o�u�r� �c�o�m�p�o�n�e�n�t� �h�a�s� �I�D� �"�m�y�U�p�l�o�a�d�"�,� �c�r�e�a�t�e� �a� �d�i�v� �w�i�t�h� �I�D� �"�m�y�U�p�l�o�a�d�-�v�a�l�-�m�s�g�"� �t�o� �d�i�s�p�l�a�y� �v�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e�s�.�
�
�
�
����h�t�m�l�
�
�<�d�i�v� �i�d�=�"�m�y�U�p�l�o�a�d�-�v�a�l�-�m�s�g�"� �s�t�y�l�e�=�"�d�i�s�p�l�a�y�:� �n�o�n�e�;�"�>�<�/�d�i�v�>�
�
�<�d�m�x�-�c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d� �i�d�=�"�m�y�U�p�l�o�a�d�"� �.�.�.�>�<�/�d�m�x�-�c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d�>�
�
����
�
�
�
�#�#�#� �A�P�I� �R�e�s�p�o�n�s�e� �F�o�r�m�a�t�
�
�T�h�e� �s�e�r�v�e�r� �s�h�o�u�l�d� �r�e�t�u�r�n� �J�S�O�N� �r�e�s�p�o�n�s�e�s� �i�n� �t�h�e� �f�o�l�l�o�w�i�n�g� �f�o�r�m�a�t�:�
�
�
�
�#�#� �F�e�a�t�u�r�e�s� �C�o�m�p�a�r�i�s�o�n�
�
�
�
�|� �F�e�a�t�u�r�e� �|� �S�i�n�g�l�e� �U�p�l�o�a�d� �|� �M�u�l�t�i� �U�p�l�o�a�d� �|�
�
�|�-�-�-�-�-�-�-�-�-�|�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�|�-�-�-�-�-�-�-�-�-�-�-�-�-�-�|�
�
�|� �F�i�l�e� �S�e�l�e�c�t�i�o�n� �|� �S�i�n�g�l�e� �f�i�l�e� �|� �M�u�l�t�i�p�l�e� �f�i�l�e�s� �|�
�
�|� �D�r�a�g� �&� �D�r�o�p� �|� �' �|� �' �|�
�
�|� �P�r�o�g�r�e�s�s� �T�r�a�c�k�i�n�g� �|� �I�n�d�i�v�i�d�u�a�l� �f�i�l�e� �|� �B�a�t�c�h� �|�
�
�|� �F�i�l�e� �V�a�l�i�d�a�t�i�o�n� �|� �' �|� �' �|�
�
�|� �C�S�V� �V�a�l�i�d�a�t�i�o�n� �|� �' �|� �' �|�
�
�|� �F�i�l�e� �S�i�z�e� �L�i�m�i�t�s� �|� �I�n�d�i�v�i�d�u�a�l� �o�n�l�y� �|� �t�o�t�a�l� �|�
�
�|� �F�i�l�e� �C�o�u�n�t� �L�i�m�i�t�s� �|� �N�/�A� �|� �' �|�
�
�|� �R�e�m�o�v�e� �F�i�l�e�s� �|� �R�e�s�e�t� �o�n�l�y� �|� �I�n�d�i�v�i�d�u�a�l� �r�e�m�o�v�a�l� �|�
�
�|� �A�u�t�o� �U�p�l�o�a�d� �|� �' �|� �' �|�
�
�|� �S�e�r�v�e�r� �V�a�l�i�d�a�t�i�o�n� �|� �' �|� �' �|�
�
�
�
�#�#� �B�e�s�t� �P�r�a�c�t�i�c�e�s�
�
�
�
�1�.� ���A�l�w�a�y�s� �p�r�o�v�i�d�e� �v�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �e�l�e�m�e�n�t�s��� �w�i�t�h� �t�h�e� �c�o�r�r�e�c�t� �I�D� �p�a�t�t�e�r�n� �(��{�c�o�m�p�o�n�e�n�t�-�i�d�}�-�v�a�l�-�m�s�g��)�
�
�2�.� ���S�e�t� �a�p�p�r�o�p�r�i�a�t�e� �f�i�l�e� �s�i�z�e� �l�i�m�i�t�s��� �b�a�s�e�d� �o�n� �y�o�u�r� �s�e�r�v�e�r� �c�o�n�f�i�g�u�r�a�t�i�o�n�
�
�3�.� ���U�s�e� �s�e�r�v�e�r�-�s�i�d�e� �v�a�l�i�d�a�t�i�o�n��� �f�o�r� �c�r�i�t�i�c�a�l� �f�i�l�e� �v�a�l�i�d�a�t�i�o�n� �l�o�g�i�c�
�
�4�.� ���H�a�n�d�l�e� �e�v�e�n�t�s� �p�r�o�p�e�r�l�y��� �t�o� �p�r�o�v�i�d�e� �u�s�e�r� �f�e�e�d�b�a�c�k� �d�u�r�i�n�g� �u�p�l�o�a�d�
�
�5�.� ���T�e�s�t� �w�i�t�h� �v�a�r�i�o�u�s� �f�i�l�e� �t�y�p�e�s��� �t�o� �e�n�s�u�r�e� �a�c�c�e�p�t� �p�a�t�t�e�r�n�s� �w�o�r�k� �c�o�r�r�e�c�t�l�y�
�
�6�.� ���F�o�r� �m�u�l�t�i�-�u�p�l�o�a�d�,� �c�o�n�s�i�d�e�r� �U�X��� �w�h�e�n� �s�e�t�t�i�n�g� �f�i�l�e� �c�o�u�n�t� �a�n�d� �s�i�z�e� �l�i�m�i�t�s�
�
�
�
�#�#� �B�r�o�w�s�e�r� �C�o�m�p�a�t�i�b�i�l�i�t�y�
�
�-� �M�o�d�e�r�n� �b�r�o�w�s�e�r�s� �s�u�p�p�o�r�t�i�n�g� �H�T�M�L�5� �F�i�l�e� �A�P�I�
�
�-� �D�r�a�g� �a�n�d� �d�r�o�p� �f�u�n�c�t�i�o�n�a�l�i�t�y� �r�e�q�u�i�r�e�s� �m�o�d�e�r�n� �b�r�o�w�s�e�r� �s�u�p�p�o�r�t�
�
�-� �F�i�l�e�R�e�a�d�e�r� �A�P�I� �s�u�p�p�o�r�t� �r�e�q�u�i�r�e�d� �f�o�r� �f�i�l�e� �p�r�e�v�i�e�w�s�
�
�
