瀏覽代碼

Update MediaStorageService, improve support for pleroma .blob avatars

Daniel Supernault 2 年之前
父節點
當前提交
66226658db
共有 1 個文件被更改,包括 10 次插入0 次删除
  1. 10 0
      app/Services/MediaStorageService.php

+ 10 - 0
app/Services/MediaStorageService.php

@@ -203,6 +203,7 @@ class MediaStorageService {
 		}
 
 		$mimes = [
+			'application/octet-stream',
 			'image/jpeg',
 			'image/png',
 		];
@@ -239,6 +240,15 @@ class MediaStorageService {
 		}
 		file_put_contents($tmpName, $data);
 
+		$mimeCheck = Storage::mimeType('remcache/' . $tmpPath);
+
+		if(!$mimeCheck || !in_array($mimeCheck, ['image/png', 'image/jpeg'])) {
+			$avatar->last_fetched_at = now();
+			$avatar->save();
+			unlink($tmpName);
+			return;
+		}
+
 		$disk = Storage::disk($driver);
 		$file = $disk->putFileAs($base, new File($tmpName), $path, 'public');
 		$permalink = $disk->url($file);