From b355830db4b0a58e595d85ea82cc9d68511304c4 Mon Sep 17 00:00:00 2001 From: MartinOscar <40749467+RMartinOscar@users.noreply.github.com> Date: Fri, 14 Feb 2025 11:11:52 +0100 Subject: [PATCH] Fix `File Upload` (#952) * Log correct file name * Remove duplicated throws comment * Set maxSize * Add hints * Fix unit conversion * Add translations --- .../Admin/Resources/NodeResource/Pages/CreateNode.php | 3 +++ app/Filament/Admin/Resources/NodeResource/Pages/EditNode.php | 2 ++ .../Server/Resources/FileResource/Pages/ListFiles.php | 4 ++-- app/Repositories/Daemon/DaemonFileRepository.php | 1 - lang/en/admin/node.php | 4 ++++ 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/Filament/Admin/Resources/NodeResource/Pages/CreateNode.php b/app/Filament/Admin/Resources/NodeResource/Pages/CreateNode.php index b9a2280b7..b0945ee9d 100644 --- a/app/Filament/Admin/Resources/NodeResource/Pages/CreateNode.php +++ b/app/Filament/Admin/Resources/NodeResource/Pages/CreateNode.php @@ -224,6 +224,9 @@ class CreateNode extends CreateRecord ->columnSpan(2), TextInput::make('upload_size') ->label(trans('admin/node.upload_limit')) + ->helperText(trans('admin/node.upload_limit_help.0')) + ->hintIcon('tabler-question-mark') + ->hintIconTooltip(trans('admin/node.upload_limit_help.1')) ->columnSpan(1) ->numeric()->required() ->default(256) diff --git a/app/Filament/Admin/Resources/NodeResource/Pages/EditNode.php b/app/Filament/Admin/Resources/NodeResource/Pages/EditNode.php index 34def753d..11f4469a5 100644 --- a/app/Filament/Admin/Resources/NodeResource/Pages/EditNode.php +++ b/app/Filament/Admin/Resources/NodeResource/Pages/EditNode.php @@ -271,6 +271,8 @@ class EditNode extends EditRecord 'lg' => 1, ]) ->label(trans('admin/node.upload_limit')) + ->hintIcon('tabler-question-mark') + ->hintIconTooltip(trans('admin/node.upload_limit_help.0') . trans('admin/node.upload_limit_help.1')) ->numeric()->required() ->minValue(1) ->maxValue(1024) diff --git a/app/Filament/Server/Resources/FileResource/Pages/ListFiles.php b/app/Filament/Server/Resources/FileResource/Pages/ListFiles.php index b68b69586..cfd2c0177 100644 --- a/app/Filament/Server/Resources/FileResource/Pages/ListFiles.php +++ b/app/Filament/Server/Resources/FileResource/Pages/ListFiles.php @@ -474,7 +474,7 @@ class ListFiles extends ListRecords Activity::event('server:file.uploaded') ->property('directory', $this->path) - ->property('file', $file->getFilename()) + ->property('file', $file->getClientOriginalName()) ->log(); } } elseif ($data['url'] !== null) { @@ -498,10 +498,10 @@ class ListFiles extends ListRecords ->live() ->schema([ FileUpload::make('files') - ->label('File(s)') ->storeFiles(false) ->previewable(false) ->preserveFilenames() + ->maxSize((int) round($server->node->upload_size * (config('panel.use_binary_prefix') ? 1.048576 * 1024 : 1000))) ->multiple(), ]), Tab::make('Upload From URL') diff --git a/app/Repositories/Daemon/DaemonFileRepository.php b/app/Repositories/Daemon/DaemonFileRepository.php index 1110f1cc8..682b8c842 100644 --- a/app/Repositories/Daemon/DaemonFileRepository.php +++ b/app/Repositories/Daemon/DaemonFileRepository.php @@ -14,7 +14,6 @@ class DaemonFileRepository extends DaemonRepository * * @param int|null $notLargerThan the maximum content length in bytes * - * @throws ConnectionException * @throws FileSizeTooLargeException * @throws ConnectionException * @throws FileNotFoundException diff --git a/lang/en/admin/node.php b/lang/en/admin/node.php index eb3fca23d..7ef2ffc5a 100644 --- a/lang/en/admin/node.php +++ b/lang/en/admin/node.php @@ -52,6 +52,10 @@ return [ 'tags' => 'Tags', 'upload_limit' => 'Upload Limit', + 'upload_limit_help' => [ + 'Enter the maximum size of files that can be uploaded through the web-based file manager.', + 'Make sure your webserver supports file uploads of this size!', + ], 'sftp_port' => 'SFTP Port', 'sftp_alias' => 'SFTP Alias', 'sftp_alias_help' => 'Display alias for the SFTP address. Leave empty to use the Node FQDN.',