我正在开发一个应用程序,其中使用IPFS来存储和获取文件。
我正在使用以下适用于Android的API,
根据文档,我可以使用以下代码从IPFS获取数据,
ipfs.get.cat("hash code of IPFS file")
但是在这里,即使上传的文件是Image,它也会以字符串格式返回所有内容。
如何知道文件的内容类型并下载相同格式?
答案 0 :(得分:1)
IPFS不允许在内容本身旁边存储元数据,例如内容类型。
您可以使用对我有用的Java做的事情:
private static String guessContentType(InputStream content) {
try {
String guessedContentType = URLConnection.guessContentTypeFromStream(content);
if (!StringUtils.isEmpty(guessedContentType)) {
return guessedContentType;
} else {
return MediaType.APPLICATION_OCTET_STREAM_VALUE;
}
} catch (IOException e) {
throw new RuntimeException("Unable to guess content type", e);
}
}