FriendsOfFlarum upload, the intelligent file attachment extension
Dikkoo hello, I meet some problem ,the same
I can upload my test file to QiNiu , but I cant download it
I try click it , this is show
{"errors":[{"status":"500","code":"unknown","detail":"FoF\\Upload\\Exceptions\\InvalidDownloadException: Client error: `GET https:\/\/file.nwdgame.com\/2020-02-29\/1582951580-591289-5.jpeg` resulted in a `403 Forbidden` response:\n\u003C!DOCTYPE HTML PUBLIC \u0022-\/\/IETF\/\/DTD HTML 2.0\/\/EN\u0022\u003E\r\n\u003Chtml\u003E\r\n\u003Chead\u003E\u003Ctitle\u003E403 Forbidden\u003C\/title\u003E\u003C\/head\u003E\r\n\u003Cbody bgcolor=\u0022wh (truncated...)\n in \/www\/wwwroot\/nwdgame.com\/vendor\/fof\/upload\/src\/Downloader\/DefaultDownloader.php:49\nStack trace:\n#0 \/www\/wwwroot\/nwdgame.com\/vendor\/fof\/upload\/src\/Commands\/DownloadHandler.php(82): FoF\\Upload\\Downloader\\DefaultDownloader-\u003Edownload(Object(FoF\\Upload\\File), Object(FoF\\Upload\\Commands\\Download))\n#1 \/www\/wwwroot\/nwdgame.com\/vendor\/illuminate\/bus\/Dispatcher.php(90): FoF\\Upload\\Commands\\DownloadHandler-\u003Ehandle(Object(FoF\\Upload\\Commands\\Download))\n#2 \/www\/wwwroot\/nwdgame.com\/vendor\/illuminate\/pipeline\/Pipeline.php(128): Illuminate\\Bus\\Dispatcher-\u003EIlluminate\\Bus\\{closure}(Object(FoF\\Upload\\Commands\\Download))\n#3 \/www\/wwwroot\/nwdgame.com\/vendor\/illuminate\/pipeline\/Pipeline.php(104): Illuminate\\Pipeline\\Pipeline-\u003EIlluminate\\Pipeline\\{closure}(Object(FoF\\Upload\\Commands\\Download))\n#4 \/www\/wwwroot\/nwdgame.com\/vendor\/illuminate\/bus\/Dispatcher.php(98): Illuminate\\Pipeline\\Pipeline-\u003Ethen(Object(Closure))\n#5 \/www\/wwwroot\/nwdgame.com\/vendor\/illuminate\/bus\/Dispatcher.php(76): Illuminate\\Bus\\Dispatcher-\u003EdispatchNow(Object(FoF\\Upload\\Commands\\Download))\n#6 \/www\/wwwroot\/nwdgame.com\/vendor\/fof\/upload\/src\/Api\/Controllers\/DownloadController.php(64): Illuminate\\Bus\\Dispatcher-\u003Edispatch(Object(FoF\\Upload\\Commands\\Download))\n#7 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/RouteHandlerFactory.php(38): FoF\\Upload\\Api\\Controllers\\DownloadController-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#8 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Middleware\/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory-\u003EFlarum\\Http\\{closure}(Object(Zend\\Diactoros\\ServerRequest), Array)\n#9 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Http\\Middleware\\DispatchRoute-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Closure))\n#10 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Middleware\/SetLocale.php(50): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#11 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Http\\Middleware\\SetLocale-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#12 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Middleware\/CheckCsrfToken.php(23): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#13 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Http\\Middleware\\CheckCsrfToken-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#14 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Middleware\/AuthenticateWithHeader.php(55): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#15 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Http\\Middleware\\AuthenticateWithHeader-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#16 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Middleware\/AuthenticateWithSession.php(32): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#17 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Http\\Middleware\\AuthenticateWithSession-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#18 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Middleware\/RememberFromCookie.php(51): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#19 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Http\\Middleware\\RememberFromCookie-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#20 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Middleware\/StartSession.php(61): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#21 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Http\\Middleware\\StartSession-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#22 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Api\/Middleware\/FakeHttpMethods.php(29): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#23 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Api\\Middleware\\FakeHttpMethods-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#24 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Middleware\/ParseJsonBody.php(28): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#25 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Http\\Middleware\\ParseJsonBody-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#26 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Middleware\/HandleErrors.php(57): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#27 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Flarum\\Http\\Middleware\\HandleErrors-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#28 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/MiddlewarePipe.php(83): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#29 \/www\/wwwroot\/nwdgame.com\/vendor\/middlewares\/request-handler\/src\/RequestHandler.php(84): Zend\\Stratigility\\MiddlewarePipe-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#30 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Middlewares\\RequestHandler-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#31 \/www\/wwwroot\/nwdgame.com\/vendor\/middlewares\/base-path-router\/src\/BasePathRouter.php(97): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#32 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Middlewares\\BasePathRouter-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#33 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Middleware\/OriginalMessages.php(41): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#34 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Zend\\Stratigility\\Middleware\\OriginalMessages-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#35 \/www\/wwwroot\/nwdgame.com\/vendor\/middlewares\/base-path\/src\/BasePath.php(53): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#36 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/Next.php(60): Middlewares\\BasePath-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#37 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/MiddlewarePipe.php(83): Zend\\Stratigility\\Next-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#38 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-stratigility\/src\/MiddlewarePipe.php(72): Zend\\Stratigility\\MiddlewarePipe-\u003Eprocess(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\EmptyPipelineHandler))\n#39 \/www\/wwwroot\/nwdgame.com\/vendor\/zendframework\/zend-httphandlerrunner\/src\/RequestHandlerRunner.php(95): Zend\\Stratigility\\MiddlewarePipe-\u003Ehandle(Object(Zend\\Diactoros\\ServerRequest))\n#40 \/www\/wwwroot\/nwdgame.com\/vendor\/flarum\/core\/src\/Http\/Server.php(44): Zend\\HttpHandlerRunner\\RequestHandlerRunner-\u003Erun()\n#41 \/www\/wwwroot\/nwdgame.com\/public\/index.php(22): Flarum\\Http\\Server-\u003Elisten()\n#42 {main}"}]}
thank you , I hope you can help me
+1
I've just check everywhere, but didn't find any option to remove "abandon" attachments (so if someone will edit post / post will be deleted) - file (and information about it in DB) will remain on the disk forever (or up to adding this function).
There is any plan to get this fixed on some TODO list?
Wadera there's this existing issue FriendsOfFlarum/upload154
Nothing is implemented at this time. There isn't any way of knowing which file belongs to which post either at this time.
- Edited
An error occurred while uploading the file.
prompt api / fof / upload 500 in console
Following is the information in / storage / logs
[2020-03-01 05:05:53] production.ERROR: Intervention\Image\Exception\NotSupportedException: Reading Exif data is not supported by this PHP installation. in /<flarum>/vendor/intervention/image/src/Intervention/Image/Commands/ExifCommand.php:22
Stack trace:
#0 /<flarum>/vendor/intervention/image/src/Intervention/Image/AbstractDriver.php(94): Intervention\Image\Commands\ExifCommand->execute(Object(Intervention\Image\Image))
#1 /<flarum>/vendor/intervention/image/src/Intervention/Image/Image.php(108): Intervention\Image\AbstractDriver->executeCommand(Object(Intervention\Image\Image), 'exif', Array)
#2 /<flarum>/vendor/intervention/image/src/Intervention/Image/Commands/OrientateCommand.php(15): Intervention\Image\Image->__call('exif', Array)
#3 /<flarum>/vendor/intervention/image/src/Intervention/Image/AbstractDriver.php(94): Intervention\Image\Commands\OrientateCommand->execute(Object(Intervention\Image\Image))
#4 /<flarum>/vendor/intervention/image/src/Intervention/Image/Image.php(108): Intervention\Image\AbstractDriver->executeCommand(Object(Intervention\Image\Image), 'orientate', Array)
#5 /<flarum>/vendor/fof/upload/src/Processors/ImageProcessor.php(50): Intervention\Image\Image->__call('orientate', Array)
#6 /<flarum>/vendor/fof/upload/src/Extenders/AddImageProcessor.php(22): FoF\Upload\Processors\ImageProcessor->process(Object(FoF\Upload\File), Object(Symfony\Component\HttpFoundation\File\UploadedFile), 'image/jpeg')
#7 /<flarum>/vendor/illuminate/events/Dispatcher.php(360): FoF\Upload\Extenders\AddImageProcessor->processor(Object(FoF\Upload\Events\File\WillBeUploaded))
#8 /<flarum>/vendor/illuminate/events/Dispatcher.php(209): Illuminate\Events\Dispatcher->Illuminate\Events\{closure}('FoF\\Upload\\Even...', Array)
#9 /<flarum>/vendor/illuminate/events/Dispatcher.php(182): Illuminate\Events\Dispatcher->dispatch('FoF\\Upload\\Even...', Array, false)
#10 /<flarum>/vendor/fof/upload/src/Commands/UploadHandler.php(114): Illuminate\Events\Dispatcher->fire(Object(FoF\Upload\Events\File\WillBeUploaded))
#11 [internal function]: FoF\Upload\Commands\UploadHandler->FoF\Upload\Commands\{closure}(Object(FoF\Upload\File), 0)
#12 /<flarum>/vendor/illuminate/support/Collection.php(1034): array_map(Object(Closure), Array, Array)
#13 /<flarum>/vendor/fof/upload/src/Commands/UploadHandler.php(155): Illuminate\Support\Collection->map(Object(Closure))
#14 /<flarum>/vendor/illuminate/bus/Dispatcher.php(90): FoF\Upload\Commands\UploadHandler->handle(Object(FoF\Upload\Commands\Upload))
#15 /<flarum>/vendor/illuminate/pipeline/Pipeline.php(128): Illuminate\Bus\Dispatcher->Illuminate\Bus\{closure}(Object(FoF\Upload\Commands\Upload))
#16 /<flarum>/vendor/illuminate/pipeline/Pipeline.php(104): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(FoF\Upload\Commands\Upload))
#17 /<flarum>/vendor/illuminate/bus/Dispatcher.php(98): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#18 /<flarum>/vendor/illuminate/bus/Dispatcher.php(76): Illuminate\Bus\Dispatcher->dispatchNow(Object(FoF\Upload\Commands\Upload))
#19 /<flarum>/vendor/fof/upload/src/Api/Controllers/UploadController.php(41): Illuminate\Bus\Dispatcher->dispatch(Object(FoF\Upload\Commands\Upload))
#20 /<flarum>/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): FoF\Upload\Api\Controllers\UploadController->handle(Object(Zend\Diactoros\ServerRequest))
#21 /<flarum>/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\Http\RouteHandlerFactory->Flarum\Http\{closure}(Object(Zend\Diactoros\ServerRequest), Array)
#22 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\DispatchRoute->process(Object(Zend\Diactoros\ServerRequest), Object(Closure))
#23 /<flarum>/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#24 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\SetLocale->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#25 /<flarum>/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(31): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#26 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#27 /<flarum>/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#28 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#29 /<flarum>/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#30 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#31 /<flarum>/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#32 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\RememberFromCookie->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#33 /<flarum>/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#34 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\StartSession->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#35 /<flarum>/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#36 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#37 /<flarum>/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#38 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\ParseJsonBody->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#39 /<flarum>/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#40 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\Http\Middleware\HandleErrors->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#41 /<flarum>/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(83): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#42 /<flarum>/vendor/middlewares/request-handler/src/RequestHandler.php(84): Zend\Stratigility\MiddlewarePipe->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#43 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\RequestHandler->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#44 /<flarum>/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#45 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\BasePathRouter->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#46 /<flarum>/vendor/zendframework/zend-stratigility/src/Middleware/OriginalMessages.php(41): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#47 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Zend\Stratigility\Middleware\OriginalMessages->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#48 /<flarum>/vendor/middlewares/base-path/src/BasePath.php(53): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#49 /<flarum>/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\BasePath->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\Next))
#50 /<flarum>/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(83): Zend\Stratigility\Next->handle(Object(Zend\Diactoros\ServerRequest))
#51 /<flarum>/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(72): Zend\Stratigility\MiddlewarePipe->process(Object(Zend\Diactoros\ServerRequest), Object(Zend\Stratigility\EmptyPipelineHandler))
#52 /<flarum>/vendor/zendframework/zend-httphandlerrunner/src/RequestHandlerRunner.php(95): Zend\Stratigility\MiddlewarePipe->handle(Object(Zend\Diactoros\ServerRequest))
#53 /<flarum>/vendor/flarum/core/src/Http/Server.php(44): Zend\HttpHandlerRunner\RequestHandlerRunner->run()
#54 /<flarum>/public/index.php(22): Flarum\Http\Server->listen()
#55 {main}
- Edited
shebaoting Missing Exif
PHP extension. Install "Exif" php extension should fix this problem.
Littlegolden Thank you. Has been resolved.
Hello,I am trying to upload images to qiniu,but my website return 500 wrong,this is the details
{
"errors": [
{
"status": "500",
"code": "unknown",
"detail": "FoF\\Upload\\Exceptions\\InvalidUploadException: No files were uploaded in /www/wwwroot/2233/vendor/fof/upload/src/Api/Controllers/UploadController.php:45\nStack trace:\n#0 /www/wwwroot/2233/vendor/flarum/core/src/Http/RouteHandlerFactory.php(38): FoF\\Upload\\Api\\Controllers\\UploadController->handle(Object(Zend\\Diactoros\\ServerRequest))\n#1 /www/wwwroot/2233/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}(Object(Zend\\Diactoros\\ServerRequest), Array)\n#2 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Http\\Middleware\\DispatchRoute->process(Object(Zend\\Diactoros\\ServerRequest), Object(Closure))\n#3 /www/wwwroot/2233/vendor/fof/terms/src/Middlewares/RegisterMiddleware.php(54): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#4 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): FoF\\Terms\\Middlewares\\RegisterMiddleware->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#5 /www/wwwroot/2233/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#6 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Http\\Middleware\\SetLocale->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#7 /www/wwwroot/2233/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(31): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#8 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Http\\Middleware\\CheckCsrfToken->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#9 /www/wwwroot/2233/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#10 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#11 /www/wwwroot/2233/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#12 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Http\\Middleware\\AuthenticateWithSession->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#13 /www/wwwroot/2233/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#14 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Http\\Middleware\\RememberFromCookie->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#15 /www/wwwroot/2233/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#16 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Http\\Middleware\\StartSession->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#17 /www/wwwroot/2233/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#18 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Api\\Middleware\\FakeHttpMethods->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#19 /www/wwwroot/2233/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#20 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Http\\Middleware\\ParseJsonBody->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#21 /www/wwwroot/2233/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#22 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Flarum\\Http\\Middleware\\HandleErrors->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#23 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(83): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#24 /www/wwwroot/2233/vendor/middlewares/request-handler/src/RequestHandler.php(84): Zend\\Stratigility\\MiddlewarePipe->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#25 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\\RequestHandler->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#26 /www/wwwroot/2233/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#27 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\\BasePathRouter->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#28 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Middleware/OriginalMessages.php(41): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#29 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Zend\\Stratigility\\Middleware\\OriginalMessages->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#30 /www/wwwroot/2233/vendor/middlewares/base-path/src/BasePath.php(53): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#31 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/Next.php(60): Middlewares\\BasePath->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\Next))\n#32 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(83): Zend\\Stratigility\\Next->handle(Object(Zend\\Diactoros\\ServerRequest))\n#33 /www/wwwroot/2233/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(72): Zend\\Stratigility\\MiddlewarePipe->process(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Stratigility\\EmptyPipelineHandler))\n#34 /www/wwwroot/2233/vendor/zendframework/zend-httphandlerrunner/src/RequestHandlerRunner.php(95): Zend\\Stratigility\\MiddlewarePipe->handle(Object(Zend\\Diactoros\\ServerRequest))\n#35 /www/wwwroot/2233/vendor/flarum/core/src/Http/Server.php(44): Zend\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#36 /www/wwwroot/2233/public/index.php(22): Flarum\\Http\\Server->listen()\n#37 {main}"
}
]
}
ccrice does the local adapter works on your forum or does it error there as well ?
If it errors with the local adapter as well, it's possible your web server is configured to remove uploaded files from requests.
FoF Upload appears to be modifying uploaded PNG image files even though I have image resizing and watermarking turned off. I can easily tell because the same PNG file that is 157kb on my PC becomes 167kb after uploading. The size I don't care about, but the actual pixel color values are being modified when uploaded, which is bad for me because my application (a game I am developing and that uses Flarum for its online discussion board) embeds meaningful data within the image pixels, and that data is getting corrupted upon upload.
Is there any way to prevent the PNG files from being modified when uploaded? I've tried setting my mime type to application\/(gif|jpeg|png)
but that prevented the files from being uploaded at all. The old image upload extension I was using didn't have this problem, but that has long since been abandoned and no longer works on beta 11.
Thanks for your help!
holyfuzz at the moment I see that any image is always loaded into Intervention, orientated, then re-encoded, even if no other filters are active https://github.com/FriendsOfFlarum/upload/blob/5e0e136925d863ff243415069d3c09fe46781e3f/src/Processors/ImageProcessor.php#L54
I don't see any easy way of fixing this. We could add another setting to completely disable image processing. I see no way of disabling this via another extension, because it's done through an extender and event listener, which can't be removed by third-party extensions.
A temporary solution would be to remove new Extenders\AddImageProcessor(),
from extend.php
. But any change in vendor
would get reverted by Composer sooner or later. If you know how to do it, you could clone the repo into a workbench directory, remove the line from there, and install the extension from the workbench directory.
clarkwinkelmann Thanks for the quick response!
clarkwinkelmann We could add another setting to completely disable image processing.
This would certainly work fine for my use case. (Though would it not be better to simply disable image processing altogether if resizing and watermarking are turned off? What is the purpose of image processing in that case?)
clarkwinkelmann A temporary solution would be to remove new Extenders\AddImageProcessor(), from extend.php.
This worked great as a temporary solution. Thanks!
If I remember correctly, image processing is still required to ensure the correct image orientation on exif data
- Edited
IanM If I remember correctly, image processing is still required to ensure the correct image orientation on exif data
Ah, that makes sense. In that case, maybe an option to turn off processing altogether would be ideal. (Or perhaps just orientation as a separate option, and then if all 3 options are off that would automatically disable processing altogether.)
clarkwinkelmann When I use the local adapter it's work well
Is there any restrictions of the image select of watermarks, I can't get it done with both png and jpg file.