在我的应用程序中,我必须将低于10 MB大小的图像或视频上传到服务器。所以我需要检查从图像选择控制器中选择的图像或视频的大小,然后再将其上传到服务器。我一直在寻找答案2天。在这方面可以有人帮助我,在此先感谢。我写的像
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* fullPathToFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:fileName];
NSLog(@"fullPathToFile:%@", fullPathToFile);
NSError *error = nil;
NSDictionary *attributes = [[NSFileManager defaultManager]attributesOfItemAtPath:fullPathToFile error:&error];
if (!error)
{
NSNumber *size = [attributes objectForKey:NSFileSize];
NSLog(@"File size: %@", size);
}
但它返回null。
答案 0 :(得分:1)
最后我解决了问题。对于那个1,我们必须将该图像/视频转换为NSData,然后我们拥有像“长度”这样的属性。 例如:
fileData = UIImageJPEGRepresentation(image, 90);
//fileData = [NSData dataWithContentsOfURL:videoURL];
NSUInteger fileLength = [fileData length];
NSLog(@"fileLength:%u",fileLength);
以字节为单位返回大小。谢谢大家。
答案 1 :(得分:0)
您是否尝试使用- (NSDictionary *)attributesOfItemAtPath:(NSString *)path error:(NSError **)error
并从返回的字典中使用密钥filesize
访问该尺寸。