You can use Attach Content control to upload files to the case and it will be stored on the pyAttachmentPage page and after persisting the case you can call OOTB activity "pyAttachmentPage" by passing .pzInsKey for WorkInsKeyt and pyAttachmentPage.pzInsKey for AttachInsKey as parameters to attach it to the case.
1) Use OOTB section pzDragDocument to upload files in temporary work objects. This section will form a page list dragDropFileUpload in the current thread of class Embed-DragDropFile. This page list will have the information about the uploaded file like File Name, File stream, attachment type, etc.
2) Now create a custom page list property of Embed-DragDropFile class and have it under the work page. Copy the results from the step 1 list to our custom page list property for each upload.
3) Now when you persist the work object, loop through the page list property under pyWorkPage and invoke logic to attach those to the work object