检查文件类型,如果是图片则返回url,如果是pdf则返回文件

时间:2015-07-10 21:37:11

标签: android image file-type

我有一个返回以下内容的API:

"attachment": {
        "original": "......"
    }

这可以是图像,pdf,word文件等。以下是一些示例:

"attachment": {
            "original": "/attachment/sample_pdf_file.pdf"
        }

"attachment": {
            "original": "/attachment/sample_image.jpg"
        }

// Etc.

我的问题是,我应该如何检查并将其返回到我的适配器?如果是图像我想使用Picasso上传图像,如果是PDF,那么我想用其他东西来显示pdf,等等。

我的思维过程是我应该为此制作ModelUtil类。

所以它看起来像这样:

模型

public class Attachment {

    @SerializedName("original")
    private String mOriginal;
    public String getOriginal() { return mOriginal; }

}

效用

public class AttachmentUtil {

    // Code to check stuff here

}

我应该如何正确检查?

1 个答案:

答案 0 :(得分:0)

我修复了API,以便在返回的数据集中提供此类信息:

"attachment": {
        "original": "/attachment/sample_pdf_file.pdf",
        "original_type": "pdf"
    }

"attachment": {
        "original": "/attachment/sample_image.jpg",
        "original_type": "jpg"
    }

但如果您无法控制它,则很可能应该足以检查original的文件名。如果这样称呼"扩展"是.pdf然后它是PDF,如果它是.jpg那么它是JPEG等等。或者,更清洁的方式,使用现有的方法: guessContentTypeFromName()guessContentTypeFromStream()。但是,如果可以,请再次修复API。