Skip to content

Commit 73eed77

Browse files
Update FileUploadTrait
#126
1 parent 28cc3b7 commit 73eed77

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/Controllers/publish/FileUploadTrait

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)