我正在制作一个应用程序,用户可以在其中上传可能非常大的 geotiff。我想对图像的宽度和高度进行客户端限制。我知道可以使用 javascript 中的 Image() 对象从 jpg/png 获取宽度和高度。但这不适用于geotiffs。
无论如何在文件上传之前从geotiff中检索宽度和高度?
我正在制作一个应用程序,用户可以在其中上传可能非常大的 geotiff。我想对图像的宽度和高度进行客户端限制。我知道可以使用 javascript 中的 Image() 对象从 jpg/png 获取宽度和高度。但这不适用于geotiffs。
无论如何在文件上传之前从geotiff中检索宽度和高度?
查看 Wikipedia 上的浏览器图像支持表。如您所见,唯一支持 TIFF(因此可以将其加载到 HTMLImageElement 中)的主流浏览器是 Internet Explorer 和 Safari。如果那是您的目标市场,那么您应该没有问题。
如果你必须支持 Chrome 和 Firefox,你有几个选择:
正如 Pekka 建议的那样,读取文件内容并从 TIFF 格式规范中的相应字段确定宽度和高度,或者
在上传之前使用 Java 或 Flash 对象对文件进行解码并提取信息。并非所有浏览器都安装了 Java 或 Flash,但很可能安装了。