From 0c54699c5b6c8304892a030a7272b0c1a5b18e42 Mon Sep 17 00:00:00 2001 From: bernardhanna Date: Mon, 30 Mar 2026 16:50:54 +0100 Subject: [PATCH] qc edits --- app/Nova/Actions/BulkUploadMediaFiles.php | 26 +++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/app/Nova/Actions/BulkUploadMediaFiles.php b/app/Nova/Actions/BulkUploadMediaFiles.php index 7f0ef256c..5c0a8c075 100644 --- a/app/Nova/Actions/BulkUploadMediaFiles.php +++ b/app/Nova/Actions/BulkUploadMediaFiles.php @@ -10,6 +10,7 @@ use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\SerializesModels; use Illuminate\Support\Collection; +use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Str; use Laravel\Nova\Actions\Action; @@ -185,15 +186,28 @@ protected function storeFile(UploadedFile|string $file, string $destination, str return null; } + $targetPath = $destination . '/' . $finalFileName; $stream = Storage::disk($data->disk)->readStream($data->path); - if ($stream === false) { - return null; - } - $targetPath = $destination . '/' . $finalFileName; - $stored = Storage::disk('resources')->put($targetPath, $stream, 'public'); if (is_resource($stream)) { - fclose($stream); + try { + $stored = Storage::disk('resources')->writeStream($targetPath, $stream, ['visibility' => 'public']); + } finally { + fclose($stream); + } + } else { + // Some environments return null instead of a stream for temp files. + // Fallback to reading file contents directly. + $contents = Storage::disk($data->disk)->get($data->path); + if (!is_string($contents) || $contents === '') { + Log::warning('[BulkUploadMediaFiles] Unable to read temp file contents', [ + 'disk' => $data->disk, + 'path' => $data->path, + ]); + return null; + } + + $stored = Storage::disk('resources')->put($targetPath, $contents, 'public'); } // Clean temporary Filepond directory.