diff --git a/UploadersLib/ImageUploaders/MediaCrushUploader.cs b/UploadersLib/ImageUploaders/MediaCrushUploader.cs index 176d6646b..0ccf3b7bf 100644 --- a/UploadersLib/ImageUploaders/MediaCrushUploader.cs +++ b/UploadersLib/ImageUploaders/MediaCrushUploader.cs @@ -84,7 +84,7 @@ public override UploadResult Upload(Stream stream, string fileName) case "done": case "ready": MediaCrushBlob blob = jsonResponse[hash].ToObject(); - result.URL = blob.URL; + result.URL = blob.DirectURL; result.DeletionURL = blob.DeletionURL; return result; case "unrecognized": @@ -121,7 +121,7 @@ private UploadResult HandleDuplicate(HttpWebResponse httpResponse) return new UploadResult { - URL = blob.URL, + URL = blob.DirectURL, DeletionURL = blob.DeletionURL }; } @@ -138,7 +138,7 @@ private UploadResult CheckExists(string hash) return new UploadResult(response) { - URL = blob.URL, + URL = blob.DirectURL, DeletionURL = blob.DeletionURL }; } @@ -190,12 +190,12 @@ public string DirectURL { get { - if (Files != null && Files.Length > 0) + if (Files != null && Files.Length > 0 && IsDirectURLPossible(Files[0])) { return "https://mediacru.sh" + Files[0].Path; } - return null; + return URL; } } @@ -207,5 +207,18 @@ public string DeletionURL return "https://mediacru.sh/" + Hash + "/delete"; } } + + private bool IsDirectURLPossible(MediaCrushFile file) + { + switch (file.Mimetype) + { + case "image/png": + case "image/jpeg": + case "image/bmp": + return true; + } + + return false; + } } } \ No newline at end of file