如何唯一标识Android相机创建的图像?

问题描述 投票:0回答:2

我正在使用 PHP 和 Nativescript 构建自己的图像备份应用程序。该应用程序很简单,并且允许我手动/自动将相机中的任何图像上传到服务器。

问题是,我需要以某种方式“识别”每个图像,让应用程序知道特定图像是否已备份。 这应该解决一种情况,即我手动将图像从一部手机移动到新手机,然后再次在新手机上安装应用程序。我的后端如何识别出这张图片已经备份了?,我认为依赖名称不是一个好主意。到目前为止我所做的是:

我创建一个字符串,它是图像大小和名称的组合:

public function createFileIdentifier(String $fileSize, String $fileName): String
    {
        return '_' . $fileSize . '_' . $fileName;
    }  

每次上传图像时,我都会用它来检查这样的图像是否“已经存在”。例如,如果两个图像具有相同的名称,则此操作将会失败。

Android 是否为相机拍摄的每张照片创建了 100% 唯一的元数据,我可以使用它?还有其他想法吗?

php android android-image uniqueidentifier
2个回答
3
投票

您可以创建图像文件的“哈希”,并使用它来唯一标识图像的内容。在这种情况下,即使是 MD5 哈希也可以,而且速度相当快。 public function createFileIdentifier(String $fileName): String { // read only the first megabyte $content = file_get_contents($fileName, FALSE, 0, 1024*1024); // make a simple hash return md5($content); }

只要您散列的图像部分不同,MD5 散列实际上就可以保证是唯一的。


0
投票

© www.soinside.com 2019 - 2024. All rights reserved.