aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/files
diff options
context:
space:
mode:
authorSamuel Tardieu <sam@rfc1149.net>2013-09-15 15:25:04 +0200
committerSamuel Tardieu <sam@rfc1149.net>2013-09-15 15:25:04 +0200
commit309f5d134c9b5e23ac3423f9dbb06515aee695d0 (patch)
treec4deb4928f652e3fae2ccf8603e672457d126112 /main/src/cgeo/geocaching/files
parentc12ba5eb9ed6606defb4e3839d8ba009f6d996ff (diff)
parent87cd8166f0598314c7744ec11dc29278ad8ad372 (diff)
downloadcgeo-309f5d134c9b5e23ac3423f9dbb06515aee695d0.zip
cgeo-309f5d134c9b5e23ac3423f9dbb06515aee695d0.tar.gz
cgeo-309f5d134c9b5e23ac3423f9dbb06515aee695d0.tar.bz2
Merge branch 'release' into upstream
Diffstat (limited to 'main/src/cgeo/geocaching/files')
-rw-r--r--main/src/cgeo/geocaching/files/LocalStorage.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/main/src/cgeo/geocaching/files/LocalStorage.java b/main/src/cgeo/geocaching/files/LocalStorage.java
index e5ba8c0..260f6b2 100644
--- a/main/src/cgeo/geocaching/files/LocalStorage.java
+++ b/main/src/cgeo/geocaching/files/LocalStorage.java
@@ -100,7 +100,14 @@ public final class LocalStorage {
* @return the file extension, including the leading dot, or the empty string if none could be determined
*/
static String getExtension(final String url) {
- final String urlExt = StringUtils.substringAfterLast(url, ".");
+ String urlExt;
+ if (url.startsWith("data:")) {
+ // "data:image/png;base64,i53…" -> ".png"
+ urlExt = StringUtils.substringAfter(StringUtils.substringBefore(url, ";"), "/");
+ } else {
+ // "http://example.com/foo/bar.png" -> ".png"
+ urlExt = StringUtils.substringAfterLast(url, ".");
+ }
return urlExt.length() >= 1 && urlExt.length() <= 4 ? "." + urlExt : "";
}