我有一个系统,可以创建到谷歌云存储桶上传的可上传链接。之后,用户直接从前端上传到那里。
有没有一种方法可以在那里验证这个图像文件,而无需将其下载到后端应用程序并在那里验证(例如,使用python的PIL(?
验证:
- 这是一个图像吗
- 是否已完全上传
- 它没有坏吗
- 等等
p。S.PDF有类似的东西吗?
云存储不直接为任何特定格式提供任何直接支持,无论是JPEG、PDF还是其他任何格式。要完全验证文件中的内容,您需要下载并检查。
然而,你可以走一段路。
首先,您可以让客户端验证文件,然后捕获原始文件的大小和/或校验和(MD5或CRC32c(,您可以将它们指定为上传的一部分,以确保它们完全按照预期上传。如果你的服务器能够知道预期的文件大小或校验和,你可以只向云存储询问对象的元数据,而无需下载它来验证它是否符合预期。
其次,包括JPEG在内的许多文件都有特定的页眉或页脚来描述其内容。您可以只从云存储下载最初的几个字节,而不是下载可能非常大的映像。如果前两个字节不是0xFF和0xD8,那么它就不是JPEG文件。许多其他格式也存在类似的幻数。