Skip to content

Commit dad1890

Browse files
committed
修改中文文件名导致的判断文件后缀错误问题
1 parent 65ac86b commit dad1890

File tree

1 file changed

+28
-2
lines changed
  • richeditor/src/main/java/com/yuruiyin/richeditor/utils

1 file changed

+28
-2
lines changed

richeditor/src/main/java/com/yuruiyin/richeditor/utils/FileUtil.java

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import android.provider.MediaStore;
1111
import android.text.TextUtils;
1212
import android.util.Log;
13-
1413
import android.webkit.MimeTypeMap;
1514
import 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

Comments
 (0)