我正在开发一个应用程序,用户可以上传图片,并且我已经在Google App Engine上进行了设置,我认为这是非常棒的。但我无法确定将用户上传验证为合适图像的最佳方式,我无法在文档中看到任何关于它的内容,而且谷歌上的搜索结果非常少,所以我很擅长想知道我是不是走错了路。
基本上我不想存储不是图像的文件(成本和一致性原因主要是为了保护我的用户)所以我需要一种有效的方法来确定,我正在考虑使用云存储工具API获取内容类型,但我想知道这是否只是基于文件扩展名,因为GCS上传网址给我回来的文件类型是' image / jpeg& #39;当我将.exe重命名为.js
时我真的觉得我在这里遗漏了一些东西,还有其他人在谷歌应用引擎上遇到过这个问题吗?
答案 0 :(得分:1)
要确定文件类型,您需要一种机制来检查通常包含幻数的文件的前几个字节。幻数是确定文件类型的一种方法。查看常用文件扩展名的各种幻数:http://billatnapier.wordpress.com/2013/04/22/magic-numbers-in-files/
答案 1 :(得分:1)
GD扩展程序可用,因此您可以在文件上调用getimagesize。
如果它给你一个有效的大小,那么假设它是一个图像,否则它不是。
答案 2 :(得分:0)
与解决方案类似的问题:
答案 3 :(得分:0)
使用exif_imagetype
。基于the docs,它比getimagesize
快。