91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java判斷文件是否是圖片的方法

發布時間:2020-06-10 18:32:53 來源:億速云 閱讀:1268 作者:鴿子 欄目:編程語言

java判斷文件是否是圖片的方法:

1、通過判斷文件后綴名

String extension = "";
int i = fileName.lastIndexOf('.');
if (i > 0) {
    extension = fileName.substring(i+1);
}
//...
if("jpg".equals(extension)){
    //your code
}

這種判斷是用得比較多的一種方式,不過這種方式非常的不妥,別人稍微的把一個不是圖片的文件的擴展名修改為圖片的擴展名,就繞開了你的這種校驗,如果這上傳的文件是shell、PHP或者jsp,那你的網站基本上可以說就在別人的手里面了。

2、判斷文件頭

在后綴未知,或者后綴被修改的文件,依然通過文件頭來判斷該文件究竟是什么文件類型。我們可以使用一個文本編輯工具如UltraEdit打開文件(16進制模式下),然后看文件頭是什么字符,以下是常見圖片類型的文件頭字符(16進制)

JPEG (jpg),文件頭:FFD8FF 
PNG (png),文件頭:89504E47 
GIF (gif),文件頭:47494638 
TIFF (tif),文件頭:49492A00 
Windows Bitmap (bmp),文件頭:424D

3、通過MimetypesFileTypeMap來判斷

public class ImageCheck {
    private  MimetypesFileTypeMap mtftp;

    public ImageCheck(){
        mtftp = new MimetypesFileTypeMap();
        /* 不添加下面的類型會造成誤判 詳見:http://stackoverflow.com/questions/4855627/java-mimetypesfiletypemap-always-returning-application-octet-stream-on-android-e*/
        mtftp.addMimeTypes("image png tif jpg jpeg bmp");
    }
    public  boolean isImage(File file){
        String mimetype= mtftp.getContentType(file);
        String type = mimetype.split("/")[0];
        return type.equals("image");
    }

}

4、通過ImageIO來判斷( 該方法適用的圖片格式為 bmp/gif/jpg/png)

try {
    // 通過ImageReader來解碼這個file并返回一個BufferedImage對象
    // 如果找不到合適的ImageReader則會返回null,我們可以認為這不是圖片文件
    // 或者在解析過程中報錯,也返回false
    Image image = ImageIO.read(file);
    return image != null;
} catch(IOException ex) {
    return false;
}

以上就是java怎么判斷文件是否是圖片的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

论坛| 大新县| 古交市| 固始县| 分宜县| 闽清县| 蒲城县| 龙陵县| 夏河县| 桐乡市| 柳河县| 桃园县| 北安市| 英超| 盈江县| 恩平市| 白山市| 缙云县| 湄潭县| 宁陵县| 库尔勒市| 德保县| 南投县| 灵石县| 上高县| 电白县| 呈贡县| 临湘市| 枝江市| 鹤岗市| 开鲁县| 清水县| 临武县| 岳阳县| 定襄县| 忻城县| 白山市| 新田县| 呼伦贝尔市| 竹溪县| 福州市|