From 74776d6858776107490a4691704f94e0c0288032 Mon Sep 17 00:00:00 2001 From: Laurynas Butkus Date: Sun, 26 Jun 2022 21:06:17 +0300 Subject: [PATCH] Fix filename with spaces encoding in file uploads --- lib/ConvertApi/Client.php | 2 +- tests/ConvertApi/ConvertApiTest.php | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/ConvertApi/Client.php b/lib/ConvertApi/Client.php index 4e9dfbc..288d046 100644 --- a/lib/ConvertApi/Client.php +++ b/lib/ConvertApi/Client.php @@ -28,7 +28,7 @@ public function upload($file_or_resource, $fileName) [ 'Content-Type: application/octet-stream', 'Transfer-Encoding: chunked', - "Content-Disposition: attachment; filename*=UTF-8''" . urlencode($fileName), + "Content-Disposition: attachment; filename*=UTF-8''" . rawurlencode($fileName), ] ); diff --git a/tests/ConvertApi/ConvertApiTest.php b/tests/ConvertApi/ConvertApiTest.php index ec79d32..4429f40 100644 --- a/tests/ConvertApi/ConvertApiTest.php +++ b/tests/ConvertApi/ConvertApiTest.php @@ -96,6 +96,16 @@ public function testConvertWithFileUpload() $this->assertEquals('custom.pdf', $result->getFile()->getFileName()); } + public function testConvertWithFileUploadAndSpaces() + { + $fileUpload = new \ConvertApi\FileUpload('examples/files/test.docx', 'test space ačiū.docx'); + $params = ['File' => $fileUpload]; + + $result = ConvertApi::convert('pdf', $params); + + $this->assertEquals('test space ačiū.pdf', $result->getFile()->getFileName()); + } + public function testConvertWithFileResourceUpload() { $fp = fopen('examples/files/test.docx', 'rb');