let options = PHImageRequestOptions.init() options.isNetworkAccessAllowed = true options.isSynchronous = true options.deliveryMode = .highQualityFormat
PHImageManager.default().requestImageData(for:phAsset , options: options) { (data, uti, orientation, info) in //方式一 if #available(iOS 9.0, *) { let resource = PHAssetResource.assetResources(for: assets[index] as! PHAsset).first // DDLOG(message: resource?.value(forKey: "fileSize")) let fileSize:CGFloat = resource?.value(forKey: "fileSize") as! CGFloat DDLOG(message: "大小1-\(fileSize)b") } else { // Fallback on earlier versions } //方式二 let dict = info as NSDictionary? let a = dict![AnyHashable("PHImageFileDataKey")] as! NSData DDLOG(message: "大小1- \(a.length)") //方式三 if data != nil{ self.dataSource.append(ImageModel.init(data: data)) } let d:NSData = NSData.init(data: data!) DDLOG(message: "大小3-\(d.length)") //方式四 拿到图片路径 来获取 大小 let s = Bundle.main.path(forResource: "qwer11", ofType: "jpg") let data4:NSData = try! NSData.init(contentsOfFile: s!) DDLOG(message: "大小4 \(data4.length)") //以下 2中方式获取到的 data 是 不准确的 所以不能通过下边的 方式判断 // 注UIImageJPEGRepresentation(image!, 0.6)! 压缩比例0.6 时候大小约等于 正常大小 let data1:NSData = NSData.init(data: UIImagePNGRepresentation(image)!) DDLOG(message: "错误1 \(data1.length)") let data2:NSData = NSData.init(data: UIImageJPEGRepresentation(image!, 0.6)!) DDLOG(message: "错误2 \(data2.length)") }
转载于:https://my.oschina.net/iceTear/blog/1931902