我有一个返回以下内容的API:
"attachment": {
"original": "......"
}
这可以是图像,pdf,word文件等。以下是一些示例:
"attachment": {
"original": "/attachment/sample_pdf_file.pdf"
}
"attachment": {
"original": "/attachment/sample_image.jpg"
}
// Etc.
我的问题是,我应该如何检查并将其返回到我的适配器?如果是图像我想使用Picasso
上传图像,如果是PDF,那么我想用其他东西来显示pdf,等等。
我的思维过程是我应该为此制作Model
和Util
类。
所以它看起来像这样:
模型
public class Attachment {
@SerializedName("original")
private String mOriginal;
public String getOriginal() { return mOriginal; }
}
效用
public class AttachmentUtil {
// Code to check stuff here
}
我应该如何正确检查?
答案 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。