我熟悉处理图像。我从URL检索/读取图像,其中URL没有文件扩展名。然后,我希望将图像写入/保存到本地存储,但是我必须指定图像文件扩展名(即JPG,PNG等),而我无法通过BufferedImage检索其扩展名。
请指出一下该如何做?任何其他方法都可以。
使用ImageReader.getFormatName()
您可以使用ImageIO.getImageReaders(Object
input)
获取文件的图像读取器。
我尚未亲自测试过,但是您可以尝试以下方法:
ImageInputStream iis = ImageIO.createImageInputStream(file);
Iterator<ImageReader> imageReaders = ImageIO.getImageReaders(iis);
while (imageReaders.hasNext()) {
ImageReader reader = (ImageReader) imageReaders.next();
System.out.printf("formatName: %s%n", reader.getFormatName());
}
问题内容: 我正在尝试阅读以下图片 但是它显示了IIOException。 这是代码: 问题答案: 您收到(错误请求)错误,因为您的网址中有。如果在参数之前对其进行了修复,则会收到错误消息(未经授权)。也许您需要一些HTTP标头才能将您的下载标识为可识别的浏览器(使用“ User-Agent”标头)或其他身份验证参数。 对于User-Agent示例,然后通过连接inputstream 使用Imag
问题内容: 假设我在数据库表的列中有或,等等。 如何仅获取文件扩展名? 问题答案: 试试这个: sqlfiddle
问题内容: 我想从 MimeType* 获取 扩展名 。 * 例如: 要将文件保存在Windows或Linux上,我可以使用这种方法从URL下载文件。因此,我只能保存它而没有扩展名(我不想要那样)。 这种方法只允许我获取 MimeType 而不是 扩展名 。 如何使用MimeType编写带有扩展名的文件? 问题答案: 通常有两种方法: 具有MimeTypes到扩展名的映射; 使用某种逻辑进行计算;
我想从一个mimetype中得到扩展。 例如: 为了在Windows或Linux上保存我的文件,我有一个方法,让我从URL下载文件。所以,我只能在没有扩展的情况下保存它(我不想那样)。 这个方法只允许我获取MimeType,而不是扩展。 如何使用MimeType编写扩展名的文件?
cmf_get_file_extension($filename) 功能 获取文件扩展名 参数 $filename: string 文件名 返回 string 文件扩展名
X2.2.0新增 sp_get_file_extension($filename) 功能: 获取文件扩展名 参数: $filename: 文件名 返回: 类型string,文件扩展名 使用: $suffix = sp_get_file_extension('23232.png');