diff --git a/.env.testing b/.env.testing index 09adae02..08f2f4f8 100644 --- a/.env.testing +++ b/.env.testing @@ -1,6 +1,6 @@ APP_NAME=Laravel APP_ENV=local -APP_KEY=base64:fzZomRn3E8Rb6UDR8oqFiNo8Y4L5RyX4oVVli3KiWQA= +APP_KEY=base64:V2AWruweyafrrc688xMmrsxOwwRcHeLQk3WCOTQESns= APP_DEBUG=true APP_URL=http://localhost APP_DEMO=false diff --git a/src/Domain/Files/Actions/ProcessFileAction.php b/src/Domain/Files/Actions/ProcessFileAction.php index 1b6efdf9..425d1072 100644 --- a/src/Domain/Files/Actions/ProcessFileAction.php +++ b/src/Domain/Files/Actions/ProcessFileAction.php @@ -26,15 +26,15 @@ class ProcessFileAction public function __invoke( UploadRequest $request, User $user, - string $chunkPath, + string $name, ) { // Get local disk instance $localDisk = Storage::disk('local'); + $filePath = "files/$user->id/$name"; // Get file data - $size = $localDisk->size($chunkPath); - $mimetype = $localDisk->mimeType($chunkPath); - $name = Str::uuid() . '.' . $request->input('extension'); + $size = $localDisk->size($filePath); + $mimetype = $localDisk->mimeType($filePath); // Get upload limit $uploadLimit = get_settings('upload_limit'); @@ -47,26 +47,22 @@ class ProcessFileAction // Check if user has enough space to upload file if (! $user->canUpload($size)) { // Delete file from chunk directory - $localDisk->delete($chunkPath); - - // Set up response - $response = response([ - 'type' => 'error', - 'message' => __t('user_action_not_allowed'), - ], 401); + $localDisk->delete($filePath); // Abort code - abort($response); + abort( + response([ + 'type' => 'error', + 'message' => __t('user_action_not_allowed'), + ], 401) + ); } - // Move file to user directory - $localDisk->move($chunkPath, "files/$user->id/$name"); - // Create multiple image thumbnails ($this->createImageThumbnail)($name, $user->id); // Store exif data if exists - $exif = ($this->storeExifData)("files/$user->id/$name"); + $exif = ($this->storeExifData)($filePath); // Move file to external storage match (config('filesystems.default')) { diff --git a/src/Domain/Files/Actions/StoreExifDataAction.php b/src/Domain/Files/Actions/StoreExifDataAction.php index 5fa62e63..580bc6be 100644 --- a/src/Domain/Files/Actions/StoreExifDataAction.php +++ b/src/Domain/Files/Actions/StoreExifDataAction.php @@ -1,7 +1,6 @@ $exif->GPSLatitudeRef ?? null, ]); } catch (Exception $error) { - Log::error('Unable to get exif data'); - return null; } } diff --git a/src/Domain/Files/Controllers/UploadFileController.php b/src/Domain/Files/Controllers/UploadFileController.php index ceb79c87..1f82be1e 100644 --- a/src/Domain/Files/Controllers/UploadFileController.php +++ b/src/Domain/Files/Controllers/UploadFileController.php @@ -1,6 +1,8 @@ user : auth()->user(); + // Get file name + $name = Str::uuid() . '.' . $request->input('extension'); + + // Move file to user directory + Storage::disk('local')->move($chunkPath, "files/$user->id/$name"); + // Process file - $file = ($this->processFie)($request, $user, $chunkPath); + $file = ($this->processFie)($request, $user, $name); return response(new FileResource($file), 201); } diff --git a/src/Domain/Files/Controllers/VisitorUploadFileController.php b/src/Domain/Files/Controllers/VisitorUploadFileController.php index c709b285..c4048289 100644 --- a/src/Domain/Files/Controllers/VisitorUploadFileController.php +++ b/src/Domain/Files/Controllers/VisitorUploadFileController.php @@ -1,6 +1,8 @@ boolean('is_last')) { + // Get file name + $name = Str::uuid() . '.' . $request->input('extension'); + + // Move file to user directory + Storage::disk('local')->move($chunkPath, "files/{$shared->user->id}/$name"); + // Process file - $file = ($this->processFie)($request, $shared->user, $chunkPath); + $file = ($this->processFie)($request, $shared->user, $name); // Set public access url $file->setSharedPublicUrl($shared->token); diff --git a/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php b/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php index 67df3b18..efa25776 100644 --- a/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php +++ b/src/Domain/UploadRequest/Controllers/UploadFilesForUploadRequestController.php @@ -8,6 +8,8 @@ use Domain\Files\Actions\ProcessFileAction; use Domain\UploadRequest\Models\UploadRequest; use Domain\Files\Actions\StoreFileChunksAction; use Illuminate\Contracts\Filesystem\FileNotFoundException; +use Illuminate\Support\Str; +use Storage; class UploadFilesForUploadRequestController { @@ -40,8 +42,14 @@ class UploadFilesForUploadRequestController // Proceed after last chunk if ($request->boolean('is_last')) { + // Get file name + $name = Str::uuid() . '.' . $request->input('extension'); + + // Move file to user directory + Storage::disk('local')->move($chunkPath, "files/{$uploadRequest->user->id}/$name"); + // Process file - $file = ($this->processFie)($request, $uploadRequest->user, $chunkPath); + $file = ($this->processFie)($request, $uploadRequest->user, $name); // Set public access url $file->setUploadRequestPublicUrl($uploadRequest->id);