Merge pull request #10449 from annando/guess-mimetype
Guess the mimetype in advance
This commit is contained in:
commit
c9ab540ab0
2 changed files with 15 additions and 6 deletions
|
@ -245,13 +245,17 @@ class Photo
|
|||
* Construct a photo array for a system resource image
|
||||
*
|
||||
* @param string $filename Image file name relative to code root
|
||||
* @param string $mimetype Image mime type. Defaults to "image/jpeg"
|
||||
* @param string $mimetype Image mime type. Is guessed by file name when empty.
|
||||
*
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function createPhotoForSystemResource($filename, $mimetype = "image/jpeg")
|
||||
public static function createPhotoForSystemResource($filename, $mimetype = '')
|
||||
{
|
||||
if (empty($mimetype)) {
|
||||
$mimetype = Images::guessTypeByExtension($filename);
|
||||
}
|
||||
|
||||
$fields = self::getFields();
|
||||
$values = array_fill(0, count($fields), "");
|
||||
|
||||
|
@ -269,13 +273,17 @@ class Photo
|
|||
*
|
||||
* @param string $url Image URL
|
||||
* @param int $uid User ID of the requesting person
|
||||
* @param string $mimetype Image mime type. Defaults to "image/jpeg"
|
||||
* @param string $mimetype Image mime type. Is guessed by file name when empty.
|
||||
*
|
||||
* @return array
|
||||
* @throws \Exception
|
||||
*/
|
||||
public static function createPhotoForExternalResource($url, $uid = 0, $mimetype = "image/jpeg")
|
||||
public static function createPhotoForExternalResource($url, $uid = 0, $mimetype = '')
|
||||
{
|
||||
if (empty($mimetype)) {
|
||||
$mimetype = Images::guessTypeByExtension($url);
|
||||
}
|
||||
|
||||
$fields = self::getFields();
|
||||
$values = array_fill(0, count($fields), "");
|
||||
|
||||
|
|
|
@ -29,6 +29,7 @@ use Friendica\Model\Contact;
|
|||
use Friendica\Model\Photo as MPhoto;
|
||||
use Friendica\Model\Post;
|
||||
use Friendica\Model\Storage\ExternalResource;
|
||||
use Friendica\Model\Storage\SystemResource;
|
||||
use Friendica\Util\Proxy;
|
||||
use Friendica\Object\Image;
|
||||
use Friendica\Util\Images;
|
||||
|
@ -102,8 +103,8 @@ class Photo extends BaseModule
|
|||
$stamp = microtime(true);
|
||||
$imgdata = MPhoto::getImageDataForPhoto($photo);
|
||||
|
||||
// The mimetype for an external resource can only be known after it had been fetched
|
||||
if ($photo['backend-class'] == ExternalResource::NAME) {
|
||||
// The mimetype for an external or system resource can only be known reliably after it had been fetched
|
||||
if (in_array($photo['backend-class'], [ExternalResource::NAME, SystemResource::NAME])) {
|
||||
$mimetype = Images::getMimeTypeByData($imgdata);
|
||||
if (!empty($mimetype)) {
|
||||
$photo['type'] = $mimetype;
|
||||
|
|
Loading…
Reference in a new issue