According to W3c, multiple files selected in a field, should be send by \"multipart/mixed\" type with separate boundary stri
I have confirmed what you found. I tested Firefox and Chromium, and this is what I get:
Content-Type: multipart/form-data; boundary=---------------------------148152952621447
-----------------------------148152952621447
Content-Disposition: form-data; name="files"; filename="fileOne.txt"
Content-Type: text/plain
this is fileOne.txt
-----------------------------148152952621447
Content-Disposition: form-data; name="files"; filename="fileTwo.txt"
Content-Type: text/plain
this is fileTwo.txt
-----------------------------148152952621447--
After an investigation, I found that the W3c information you provided is based on RFC2388, which is already made obsolete by RFC7578.
According to RFC7578 Section 4.3 (with my emphasis):
[RFC2388] suggested that multiple files for a single form field be transmitted using a nested "multipart/mixed" part. This usage is deprecated.
To match widely deployed implementations, multiple files MUST be sent by supplying each file in a separate part but all with the same "name" parameter.
So, your question:
How I should process the POST data?
My recommendation is ignore that W3c info and follow RFC7578.
Are there browsers that will send multiple files as a "multipart/mixed" or handling such case is not needed and I should simplify my code?
Very old browsers may use "multipart/mixed" but the usage is deprecated anyway, so no need to handle such case.
My recommendation: you should definitely simplify your code.