1010import android .provider .MediaStore ;
1111import android .text .TextUtils ;
1212import android .util .Log ;
13-
1413import android .webkit .MimeTypeMap ;
1514import com .yuruiyin .richeditor .enumtype .FileTypeEnum ;
1615
@@ -27,12 +26,39 @@ public class FileUtil {
2726
2827 private static final String TAG = "FileUtil" ;
2928
29+ private static String getFileExtensionFromUrl (String url ) {
30+ if (!TextUtils .isEmpty (url )) {
31+ int fragment = url .lastIndexOf ('#' );
32+ if (fragment > 0 ) {
33+ url = url .substring (0 , fragment );
34+ }
35+
36+ int query = url .lastIndexOf ('?' );
37+ if (query > 0 ) {
38+ url = url .substring (0 , query );
39+ }
40+
41+ int filenamePos = url .lastIndexOf ('/' );
42+ String filename =
43+ 0 <= filenamePos ? url .substring (filenamePos + 1 ) : url ;
44+
45+ if (!TextUtils .isEmpty (filename )) {
46+ int dotPos = filename .lastIndexOf ('.' );
47+ if (0 <= dotPos ) {
48+ return filename .substring (dotPos + 1 );
49+ }
50+ }
51+ }
52+
53+ return "" ;
54+ }
55+
3056 public static String getFileType (String path ) {
3157 if (TextUtils .isEmpty (path )) {
3258 return FileTypeEnum .STATIC_IMAGE ;
3359 }
3460
35- String fileExtension = MimeTypeMap . getFileExtensionFromUrl (path );
61+ String fileExtension = getFileExtensionFromUrl (path );
3662 String mimeType = MimeTypeMap .getSingleton ().getMimeTypeFromExtension (fileExtension );
3763
3864 if (TextUtils .isEmpty (mimeType )) {
0 commit comments