You can place the images in another temporary folder, not in the 'uploaded files' folder. Create also a Java action which reads the files in your temporary folder. See this answer. Then create for each file (in the for-loop) a FileInputStream object, this is also an InputStream, needed for storing the image contents. Now create a new Mendix System.Image object, and store the content of the image to this object.
Example:
File folder = new File(pathname);
for(File file : folder.listFiles()) {
// create a new System.FileDocument instance
FileInputStream inputStream = new FileInputStream(file);
// Call the following method and use the FileInputStream just created as parameter.
// Core.storeImageDocumentContent(IContext context,
IMendixObject imageDocument,
InputStream inputStream,
int thumbnailWidth,
int thumbnailHeight)
}
More information about the Core.storeImageDocumentContent(...) method can be found in this answer.
The solution of Jonathan is great. But it miss one little thing, as Michel / Fedor says: How will the application know which image should be connected to which product?
To set a relation between a product and the image they must have something in collective. For example: if the name of the product is "jacket" the corresponding image have to be "jacket.png". There have to be an analogy between the name of the image and a attribute of the product meta object.
So after executing the JAVA action given by Jonathan the rest of the job can be done by microflow:
I'm afraid there are currently no better options to do this.