• Extensions
  • 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

Dikkoo
I'm sorry for the promble to you.
I have already dealt it.
I find we need delete QiNiu's defalt CDN test address to load the address what we set for Qiniu.
Only in this way can QiNiu use our address what we set to upload
https://imgur.com/UJjwzEx
Please do not mind my crappy english

    mistle

    +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?

      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}  

        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

                  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.)

                  Is there any restrictions of the image select of watermarks, I can't get it done with both png and jpg file.

                    agCharon7 if saving a watermark doesn't work, make sure your public/assets directory is writable by the web user.

                      luceos Thanks for your reply, ok I set the public/assets to www(755), and cleared the cache. still not working. after I choose an image, the watermark button will switch to off automatically.

                        agCharon7 I'd need to see your directory structure and permissions of public/assets, can you share that?