Javascript 如何在iphone safari中检测照片/视频是从相机拍摄还是从相机卷导入的
在我的网站上,我有一个Javascript 如何在iphone safari中检测照片/视频是从相机拍摄还是从相机卷导入的,javascript,html,mobile-safari,Javascript,Html,Mobile Safari,在我的网站上,我有一个文件输入标签来上传照片/视频。 在mobile safari中打开网站时,当我们单击文件输入时,将打开一个操作表,其中包含3个选项拍照或视频,选择现有和取消。 在js中是否仍然可以确定文件是从相机拍摄的(拍摄照片或视频),还是从相机卷导入的(选择现有的) 我已经从中实现了一个php解决方案,我不确定这是否会对您有所帮助,但下面是代码: <?php $camera = cameraUsed("C:\Users\Ale\Pictures\sep7imodia.jpg")
文件输入
标签来上传照片/视频。
在mobile safari中打开网站时,当我们单击文件输入时,将打开一个操作表,其中包含3个选项拍照或视频,选择现有和取消。
在js中是否仍然可以确定文件是从相机拍摄的(拍摄照片或视频
),还是从相机卷导入的(选择现有的
) 我已经从中实现了一个php解决方案,我不确定这是否会对您有所帮助,但下面是代码:
<?php
$camera = cameraUsed("C:\Users\Ale\Pictures\sep7imodia.jpg");
echo "Camera Used: " . $camera['make'] . " " . $camera['model'] . "<br />";
echo "Exposure Time: " . $camera['exposure'] . "<br />";
echo "Aperture: " . $camera['aperture'] . "<br />";
echo "ISO: " . $camera['iso'] . "<br />";
echo "Date Taken: " . $camera['date'];
// This function is used to determine the camera details for a specific image. It returns an array with the parameters.
function cameraUsed($imagePath) {
// Check if the variable is set and if the file itself exists before continuing
if ((isset($imagePath)) and (file_exists($imagePath))) {
// There are 2 arrays which contains the information we are after, so it's easier to state them both
$exif_ifd0 = read_exif_data($imagePath ,'IFD0' ,0);
$exif_exif = read_exif_data($imagePath ,'EXIF' ,0);
//error control
$notFound = "Unavailable";
// Make
if (@array_key_exists('Make', $exif_ifd0)) {
$camMake = $exif_ifd0['Make'];
} else { $camMake = $notFound; }
// Model
if (@array_key_exists('Model', $exif_ifd0)) {
$camModel = $exif_ifd0['Model'];
} else { $camModel = $notFound; }
// Exposure
if (@array_key_exists('ExposureTime', $exif_ifd0)) {
$camExposure = $exif_ifd0['ExposureTime'];
} else { $camExposure = $notFound; }
// Aperture
if (@array_key_exists('ApertureFNumber', $exif_ifd0['COMPUTED'])) {
$camAperture = $exif_ifd0['COMPUTED']['ApertureFNumber'];
} else { $camAperture = $notFound; }
// Date
if (@array_key_exists('DateTime', $exif_ifd0)) {
$camDate = $exif_ifd0['DateTime'];
} else { $camDate = $notFound; }
// ISO
if (@array_key_exists('ISOSpeedRatings',$exif_exif)) {
$camIso = $exif_exif['ISOSpeedRatings'];
} else { $camIso = $notFound; }
$return = array();
$return['make'] = $camMake;
$return['model'] = $camModel;
$return['exposure'] = $camExposure;
$return['aperture'] = $camAperture;
$return['date'] = $camDate;
$return['iso'] = $camIso;
return $return;
} else {
return false;
}
}
?>
您可以使用类似于库的方法来检查元数据吗?如果是在最后几秒钟拍的,你可以假设是手机拍的。只是个主意。