diff options
| author | Samuel Tardieu <sam@rfc1149.net> | 2013-09-15 15:25:04 +0200 |
|---|---|---|
| committer | Samuel Tardieu <sam@rfc1149.net> | 2013-09-15 15:25:04 +0200 |
| commit | 309f5d134c9b5e23ac3423f9dbb06515aee695d0 (patch) | |
| tree | c4deb4928f652e3fae2ccf8603e672457d126112 /main/src/cgeo/geocaching/files | |
| parent | c12ba5eb9ed6606defb4e3839d8ba009f6d996ff (diff) | |
| parent | 87cd8166f0598314c7744ec11dc29278ad8ad372 (diff) | |
| download | cgeo-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.java | 9 |
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 : ""; } |
