[PLUGIN][StoreRemoteMedia] Do not save empty files

This commit is contained in:
Diogo Peralta Cordeiro 2021-12-03 01:16:57 +00:00
parent 70ed04a7db
commit b66873e289
Signed by: diogo
GPG Key ID: 18D2D35001FBFAB0
2 changed files with 29 additions and 26 deletions

View File

@ -152,6 +152,8 @@ class StoreRemoteMedia extends Plugin
} }
} }
// We can ignore empty files safely, the user can guess them (:
if (!empty($media)) {
// Create an attachment for this // Create an attachment for this
$temp_file = new TemporaryFile(); $temp_file = new TemporaryFile();
$temp_file->write($media); $temp_file->write($media);
@ -181,6 +183,7 @@ class StoreRemoteMedia extends Plugin
); );
$attachment->deleteStorage(); $attachment->deleteStorage();
} }
}
return Event::stop; return Event::stop;
} }

View File

@ -25,7 +25,6 @@ namespace App\Core;
use App\Core\DB\DB; use App\Core\DB\DB;
use function App\Core\I18n\_m; use function App\Core\I18n\_m;
use Component\Attachment\Entity\Attachment;
use App\Util\Common; use App\Util\Common;
use App\Util\Exception\DuplicateFoundException; use App\Util\Exception\DuplicateFoundException;
use App\Util\Exception\FileNotAllowedException; use App\Util\Exception\FileNotAllowedException;
@ -34,6 +33,7 @@ use App\Util\Exception\NotFoundException;
use App\Util\Exception\NotStoredLocallyException; use App\Util\Exception\NotStoredLocallyException;
use App\Util\Exception\ServerException; use App\Util\Exception\ServerException;
use App\Util\TemporaryFile; use App\Util\TemporaryFile;
use Component\Attachment\Entity\Attachment;
use Symfony\Component\HttpFoundation\BinaryFileResponse; use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\File\File as SymfonyFile; use Symfony\Component\HttpFoundation\File\File as SymfonyFile;
use Symfony\Component\HttpFoundation\HeaderUtils; use Symfony\Component\HttpFoundation\HeaderUtils;
@ -68,7 +68,7 @@ class GSFile
$attachment->livesIncrementAndGet(); $attachment->livesIncrementAndGet();
// We had this attachment, but not the file, thus no filename, update meta // We had this attachment, but not the file, thus no filename, update meta
if (\is_null($attachment->getFilename())) { if (\is_null($attachment->getFilename())) {
$mimetype = $attachment->getMimetype(); $mimetype = $attachment->getMimetype() ?? $file->getMimeType();
$width = $attachment->getWidth(); $width = $attachment->getWidth();
$height = $attachment->getHeight(); $height = $attachment->getHeight();
$event_map[$mimetype] = []; $event_map[$mimetype] = [];