• Extensions
  • FriendsOfFlarum upload, the intelligent file attachment extension

Th0mC Looks like your DB has entries for file uploads for which the posts have been deleted - and no longer exist.

Looks like our migration needs more code to avoid this error. All you can do is either wait or go through every row in the flfof_upload_downloads table and check that their post IDs exist - if not, set the post_id column to NULL.

    datitisev You made it! In fact I had a discussion that was deleted and the discussion_id was set to NULL in flfof_upload_downloads but not the post_id. Put it at NULL as you suggested. Et voila 🙂

    0.9.1

    • Fix when DB has entries for file uploads for which the posts have been deleted, as mentioned by @datitisev above.
    Updating
    composer require fof/upload
    php flarum cache:clear

    I can't upload .cs files, when i upload .cs, file is renaming to .txt

    Powermage Correct image orientation based on the orientation info that mobile devices tend to use would be really great.

    Was this issue ever addressed? Users on my forum are still complaining about this issue.

      johnlewissims I'm using this CSS for that:

      .Post-body img, .Post-body iframe {
      max-height: 720px;
      }

      Otherwise mobile image would be gargantuan

      Hi, quick news for STL upload. I tried EVERYTHING. Every mime type, even nginx configuration, but it's not working 😢
      Does anyone have an idea to solve my problem ?

      Hi, i can't add watermark, below is my information.

      webadmin@iZj6c0dd0lw36c5kwll8vyZ:/var/www/flarum$ php flarum info
      Flarum core 0.1.0-beta.13
      PHP version: 7.2.24-0ubuntu0.18.04.4
      Loaded extensions: Core, date, libxml, openssl, pcre, zlib, filter, hash, pcntl, Reflection, SPL, sodium, session, standard, mysqlnd, PDO, xml, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, iconv, json, exif, mysqli, pdo_mysql, Phar, posix, readline, shmop, SimpleXML, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, Zend OPcache
      +--------------------------------------+----------------+--------+
      | Flarum Extensions                    |                |        |
      +--------------------------------------+----------------+--------+
      | ID                                   | Version        | Commit |
      +--------------------------------------+----------------+--------+
      | flarum-approval                      | v0.1.0-beta.13 |        |
      | flarum-bbcode                        | v0.1.0-beta.12 |        |
      | flarum-emoji                         | v0.1.0-beta.13 |        |
      | flarum-lang-english                  | v0.1.0-beta.13 |        |
      | flarum-flags                         | v0.1.0-beta.13 |        |
      | flarum-likes                         | v0.1.0-beta.13 |        |
      | flarum-lock                          | v0.1.0-beta.13 |        |
      | flarum-markdown                      | v0.1.0-beta.13 |        |
      | flarum-mentions                      | v0.1.0-beta.13 |        |
      | flarum-statistics                    | v0.1.0-beta.13 |        |
      | flarum-sticky                        | v0.1.0-beta.13 |        |
      | flarum-subscriptions                 | v0.1.0-beta.13 |        |
      | flarum-suspend                       | v0.1.0-beta.13 |        |
      | flarum-tags                          | v0.1.0-beta.13 |        |
      | flagrow-sitemap                      | 0.2.0          |        |
      | flarum-akismet                       | v0.1.0-beta.13 |        |
      | flarum-auth-github                   | v0.1.0-beta.13 |        |
      | littlegolden-lang-simplified-chinese | v0.1.65        |        |
      | v17development-seo                   | 1.2            |        |
      | fof-upload                           | 0.9.1          |        |
      +--------------------------------------+----------------+--------+

      Debug Info

      POST https://xxx.com/api/fof/watermark
      
      {
        "errors": [
          {
            "status": "500",
            "code": "unknown",
            "detail": "Illuminate\\Contracts\\Container\\BindingResolutionException: Target [League\\Flysystem\\FilesystemInterface] is not instantiable while building [FoF\\Upload\\Api\\Controllers\\WatermarkUploadController]. in /var/www/flarum/vendor/illuminate/container/Container.php:945\nStack trace:\n#0 /var/www/flarum/vendor/illuminate/container/Container.php(785): Illuminate\\Container\\Container->notInstantiable('League\\\\Flysyste...')\n#1 /var/www/flarum/vendor/illuminate/container/Container.php(658): Illuminate\\Container\\Container->build('League\\\\Flysyste...')\n#2 /var/www/flarum/vendor/illuminate/container/Container.php(609): Illuminate\\Container\\Container->resolve('League\\\\Flysyste...', Array)\n#3 /var/www/flarum/vendor/flarum/core/src/Foundation/Application.php(521): Illuminate\\Container\\Container->make('League\\\\Flysyste...', Array)\n#4 /var/www/flarum/vendor/illuminate/container/Container.php(912): Flarum\\Foundation\\Application->make('League\\\\Flysyste...')\n#5 /var/www/flarum/vendor/illuminate/container/Container.php(840): Illuminate\\Container\\Container->resolveClass(Object(ReflectionParameter))\n#6 /var/www/flarum/vendor/illuminate/container/Container.php(807): Illuminate\\Container\\Container->resolveDependencies(Array)\n#7 /var/www/flarum/vendor/illuminate/container/Container.php(658): Illuminate\\Container\\Container->build('FoF\\\\Upload\\\\Api\\\\...')\n#8 /var/www/flarum/vendor/illuminate/container/Container.php(609): Illuminate\\Container\\Container->resolve('FoF\\\\Upload\\\\Api\\\\...', Array)\n#9 /var/www/flarum/vendor/flarum/core/src/Foundation/Application.php(521): Illuminate\\Container\\Container->make('FoF\\\\Upload\\\\Api\\\\...', Array)\n#10 /var/www/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(74): Flarum\\Foundation\\Application->make('FoF\\\\Upload\\\\Api\\\\...')\n#11 /var/www/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(34): Flarum\\Http\\RouteHandlerFactory->resolveController('FoF\\\\Upload\\\\Api\\\\...')\n#12 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(65): Flarum\\Http\\RouteHandlerFactory->Flarum\\Http\\{closure}(Object(Laminas\\Diactoros\\ServerRequest), Array)\n#13 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\DispatchRoute->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Closure))\n#14 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(50): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#15 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\SetLocale->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#16 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(45): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#17 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\CheckCsrfToken->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#18 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(55): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#19 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithHeader->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#20 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(32): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#21 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\AuthenticateWithSession->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#22 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(51): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#23 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\RememberFromCookie->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#24 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#25 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\StartSession->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#26 /var/www/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#27 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Api\\Middleware\\FakeHttpMethods->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#28 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#29 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\ParseJsonBody->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#30 /var/www/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#31 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Flarum\\Http\\Middleware\\HandleErrors->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#32 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#33 /var/www/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\\Stratigility\\MiddlewarePipe->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#34 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\RequestHandler->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#35 /var/www/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(97): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#36 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePathRouter->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#37 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(42): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#38 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Laminas\\Stratigility\\Middleware\\OriginalMessages->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#39 /var/www/flarum/vendor/middlewares/base-path/src/BasePath.php(53): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#40 /var/www/flarum/vendor/laminas/laminas-stratigility/src/Next.php(61): Middlewares\\BasePath->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\Next))\n#41 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(84): Laminas\\Stratigility\\Next->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#42 /var/www/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(73): Laminas\\Stratigility\\MiddlewarePipe->process(Object(Laminas\\Diactoros\\ServerRequest), Object(Laminas\\Stratigility\\EmptyPipelineHandler))\n#43 /var/www/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(96): Laminas\\Stratigility\\MiddlewarePipe->handle(Object(Laminas\\Diactoros\\ServerRequest))\n#44 /var/www/flarum/vendor/flarum/core/src/Http/Server.php(42): Laminas\\HttpHandlerRunner\\RequestHandlerRunner->run()\n#45 /var/www/flarum/public/index.php(26): Flarum\\Http\\Server->listen()\n#46 {main}"
          }
        ]
      }

      Hope can help me.

      johnlewissims
      There is a fix (not sure if it is implemented in the normal release yet), only thing is that the watermark is applied before this, so when the rotation is fixed the watermark can be on the side or upside down, but that is way less annoying then images with the wrong rotation.

      mrothauer Powermage
      I do not know if your rotation issue is the same that mine (portrait images were never rotated), but I resolved it by manually adding this commit (new version is not yet released).
      FriendsOfFlarum/upload@14de622