@@ -17,6 +17,7 @@ trait FileUploadTrait
1717            mkdir(public_path('uploads'), 0777);
1818            mkdir(public_path('uploads/thumb'), 0777);
1919        }
20+         $newRequest = null; // Variable to hold a new request created by above array merging
2021        foreach ($request->all() as $key => $value) {
2122            if ($request->hasFile($key)) {
2223                if ($request->has($key . '_w') && $request->has($key . '_h')) {
@@ -39,15 +40,21 @@ trait FileUploadTrait
3940                        });
4041                    }
4142                    $image->save(public_path('uploads') . '/' . $filename);
42-                     $request = new Request(array_merge($request->all(), [$key => $filename]));
43+                     // Determine which request's data to use further
44+                     $requestDataToMerge = $newRequest == null ? $request->all() : $newRequest->all();
45+                     // Create new request without changing the original one (prevents removal of specific metadata which disables parsing of a second file)
46+                     $newRequest = new Request(array_merge($requestDataToMerge, [$key => $filename]));
4347                } else {
4448                    $filename = time() . '-' . $request->file($key)->getClientOriginalName();
4549                    $request->file($key)->move(public_path('uploads'), $filename);
46-                     $request = new Request(array_merge($request->all(), [$key => $filename]));
50+                     // Determine which request's data to use further
51+                     $requestDataToMerge = $newRequest == null ? $request->all() : $newRequest->all();
52+                     // Create new request without changing the original one (prevents removal of specific metadata which disables parsing of a second file)
53+                     $newRequest = new Request(array_merge($requestDataToMerge, [$key => $filename]));
4754                }
4855            }
4956        }
5057
51-         return $request;
58+         return $newRequest == null ? $ request : $newRequest ;
5259    }
53- }
60+ }
0 commit comments