【发布时间】:2021-02-02 00:20:52
【问题描述】:
我正在开发一个反应原生应用程序,它从 URL 获取图像并保存在本地设备中。
const getExtention = (filename) => {
return /[.]/.exec(filename) ? /[^.]+$/.exec(filename) : undefined;
};
我正在使用上面的代码来获取此类文件的图像扩展名。 https://upload.wikimedia.org/wikipedia/commons/4/41/Sunflower_from_Silesia2.jpg
但也有一些图片网址不带扩展名,如下所示
https://media.gettyimages.com/photos/woman-lifts-her-arms-in-victory-mount-everest-national-park-picture-id507910624?s=612x612
那么我怎么知道上图的扩展名是什么?存储在设备中
【问题讨论】:
-
服务器应该报告正确的图像 MIME 类型。每种 mime 类型映射到一个(或多个)扩展。您需要为所有受支持的 mime 类型提供地图。
-
@JoachimSauer 你能提供一些例子吗?
-
我不使用 react,所以我不能提供代码,但是有 plenty of documentation 关于什么是 mime 类型以及它们是如何工作的。
-
问题是:为什么你有没有扩展名的图片网址?
-
@BinaryMan:URL 根本没有包含扩展名(或文件名)的“义务”或技术原因。像
http://example.com/someImage这样的 URL 提供 JPEG 图像是非常好的(并且在野外经常发生)。理论上,即使http://image.example.com也可以提供图像。这不是错误或问题。这是一个简单的事实。
标签: javascript reactjs image react-native