uni-app iOS端获取照片拍摄时间
uni-app iOS端获取照片拍摄时间
需要一个在客户端(iOS/Android)获取照片拍摄时间的插件,比较简单
参数:fileUrl
返回值:fileTime
例如:
File file = new File(fileUrl);
Long fileTime = file.lastModified();
返回fileTime即可。
因为照片上传到服务端写入File后,lastModified就变成写入时间了,而服务端用类似Exif的库是有可能获取不到照片时间的,比如美颜相机拍摄的照片,用Exif就无法获取照片时间。
| 开发环境 | 版本号 | 项目创建方式 |
|---------|--------|--------------|
| iOS/Android | 不适用 | 插件开发 |
官方呢?求回复一下!
可以使用原生插件做,联系QQ:1804945430
你都不会ios ,你先看清楚需求,不会ios就不要到处乱留言
回复 原生插件开发哦: 有iOS朋友合作,价格也相对更低哦
专业双端插件开发, 获取拍摄时间可以做 做好验收完在付款。Q 1196097915,
在uni-app中,如果你需要从iOS端获取照片的拍摄时间,通常需要借助原生插件或者自定义组件来实现,因为uni-app本身提供的API并不直接支持获取照片的元数据(如拍摄时间)。以下是一个通过uni-app的plus.io
模块结合原生Objective-C代码来获取照片拍摄时间的示例。
步骤一:创建原生插件
首先,你需要创建一个原生插件来获取照片的元数据。以下是一个简单的Objective-C代码示例,用于获取iOS照片库中的照片拍摄时间。
MyPlugin.h
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@interface MyPlugin : NSObject
+ (void)getPhotoMetadataWithAssetURL:(NSURL *)assetURL callback:(void (^)(NSDictionary *metadata))callback;
@end
MyPlugin.m
#import "MyPlugin.h"
#import <Photos/Photos.h>
@implementation MyPlugin
+ (void)getPhotoMetadataWithAssetURL:(NSURL *)assetURL callback:(void (^)(NSDictionary *metadata))callback {
PHFetchResult *assets = [PHAsset fetchAssetsWithALAssetURLs:@[assetURL] options:nil];
if (assets.count > 0) {
PHAsset *asset = assets.firstObject;
[[PHImageManager defaultManager] requestImageDataForAsset:asset options:nil resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
if (info[@"{PHImageFileInfoKey}"][@"creationDate"]) {
NSDate *creationDate = info[@"{PHImageFileInfoKey}"][@"creationDate"];
NSDictionary *metadata = @{ @"creationDate": creationDate };
callback(metadata);
} else {
callback(nil);
}
}];
} else {
callback(nil);
}
}
@end
步骤二:在uni-app中调用原生插件
接下来,在uni-app中通过JS调用这个原生插件。
调用示例
// 假设你已经将插件集成到uni-app项目中
plus.bridge.exec('MyPlugin', 'getPhotoMetadataWithAssetURL', [assetURL], (e, metadata) => {
if (e) {
console.error('Error fetching metadata:', e);
} else {
const creationDate = metadata.creationDate;
console.log('Photo creation date:', creationDate);
}
});
注意事项
- 插件注册:确保在
manifest.json
中正确注册了原生插件。 - 权限管理:在iOS项目中,确保已经请求了访问照片库的权限。
- URL格式:
assetURL
应该是从iOS照片库中获取的ALAsset
的URL,这通常需要通过原生代码获取。
以上代码示例展示了如何通过原生插件获取iOS照片库中照片的拍摄时间,并在uni-app中使用这些信息。根据实际需求,你可能需要调整代码以适应具体的业务逻辑。