API returns 500 "General Error" when trying to upload an image that is larger than the `chunk_size`
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 32/100
Rechercherichtung
Beginne mit ApiConfig::DEFAULT_CHUNK_SIZE und dem Upload-Ablauf in UploadTrait.php, ApiClient.php und BaseApiClient.php, insbesondere mit der Antwortverarbeitung rund um BaseApiClient.php:417. Reproduziere einen Upload, der mit der Standard-Chunk-Größe größer als 20 MB ist, und überprüfe anschließend, dass Chunk-Uploads ohne einen General Error abgeschlossen werden und weiterhin dem dokumentierten Verhalten entsprechen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
I noticed, that the API returned a "General Error" when I tried to upload an image that is larger than 20 MB.
After some research I found a matching issue in the cloudinary_android-Repo: https://github.com/cloudinary/cloudinary_android/issues/148.
After reading the docs (https://cloudinary.com/documentation/upload_images#chunked_asset_upload), I set the chunk_size to a value that is larger than 20 MB (e. g. 30000000) when calling the upload-function.
That fixed my problem. However, the Chunked asset upload feature doesn't seem to work.
Issue Type (Can be multiple)
- Behaviour - Functions aren’t working as expected (such as generate URL)
- Documentation - Inconsistency between the docs and behaviour
Steps to reproduce
Try to upload a file larger than 20 MB (or the \Cloudinary\Configuration\ApiConfig::DEFAULT_CHUNK_SIZE respectively).
Error screenshots or Stack Trace (if applicable)
Message: "Cloudinary\Api\Exception\GeneralError: General Error in .../vendor/cloudinary/cloudinary_php/src/Api/BaseApiClient.php:417
Stack trace:
#0 .../vendor/cloudinary/cloudinary_php/src/Api/BaseApiClient.php(337): Cloudinary\Api\BaseApiClient->handleApiResponse(Object(GuzzleHttp\Psr7\Response))
#1 .../vendor/guzzlehttp/promises/src/Promise.php(209): Cloudinary\Api\BaseApiClient->Cloudinary\Api{closure}(Object(GuzzleHttp\Psr7\Response))
#2 .../vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(GuzzleHttp\Psr7\Response), NULL)
#3 .../vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise{closure}()
#4 .../vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(159): GuzzleHttp\Promise\TaskQueue->run()
#5 .../vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(185): GuzzleHttp\Handler\CurlMultiHandler->tick()
#6 .../vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true)
#7 .../vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn()
#8 .../vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending()
#9 .../vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList()
#10 .../vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending()
#11 .../vendor/cloudinary/cloudinary_php/src/Api/ApiClient.php(348): GuzzleHttp\Promise\Promise->wait()
#12 .../vendor/cloudinary/cloudinary_php/src/Api/ApiClient.php(282): Cloudinary\Api\ApiClient->postLargeFileAsync('image/upload', Object(GuzzleHttp\Psr7\Stream), Array, Array)
#13 .../vendor/cloudinary/cloudinary_php/src/Api/Upload/UploadTrait.php(138): Cloudinary\Api\ApiClient->postFileAsync('image/upload', 'data:image/jpeg...', Array, Array)
#14 .../vendor/cloudinary/cloudinary_php/src/Api/Upload/UploadTrait.php(162): Cloudinary\Api\Upload\UploadApi->uploadAsync('data:image/jpeg...', Array)
#15 ...: Cloudinary\Api\Upload\UploadApi->upload('data:image/jpeg...', Array)
Operating System
- Linux
Environment and Frameworks (fill in the version numbers)
- PHP Cloudinary SDK version - 2.14.0
- PHP Version - 8.2.25
- Framework (Laravel, Symphony, etc) - 6.2.10
- Vorherrschende Sprache
- PHP
- Sterne
- 402
- Forks
- 151
- Ø Merge
- 37 Min.
- Gemergte PRs (30 T.)
- 2
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus cloudinary/cloudinary_php
-
Update access mode method not available in SDKEvtl. wieder frei @aleksandar-cloudinary hat das vor 1632 Tagen übernommen, und es ist kein Pull Request offen. Offen
cloudinary/cloudinary_php#358 · 10 Kommentare · 1 zugewiesene Person ·
-
Noticeably reduced performance with version 2Evtl. wieder frei @const-cloudinary hat das vor 2095 Tagen übernommen, und es ist kein Pull Request offen. Offen
cloudinary/cloudinary_php#244 · 11 Kommentare · 1 Reaktion · 1 zugewiesene Person ·
Alle Issues in cloudinary/cloudinary_php
Ähnliche Issues
-
Old /download.php attachment links: redirect drops the subfolder, nginx.example.conf returns 404OffenBug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
0. Needs triage 35-feedback bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 72/100
wpgenius/stackfolio#22 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
Automattic/static-site-importer#3024 ·
Maintainer antworten meist innerhalb von 1 Tag