У меня возникла проблема с получением размера изображения в моем коде, вот что я делаю:
let imageData : NSData = UIImageJPEGRepresentation(images[0], 1) as! NSData
let formatter = ByteCountFormatter()
formatter.allowedUnits = .useKB
formatter.countStyle = .binary
let imageSize = formatter.string(fromByteCount: Int64(imageData.length))
print(imageSize)
.file
. - person TheTiger   schedule 17.04.2018.memory
используется дляbinaryStyle
, а.file
дляdecimalStyle
. Разве нам не нужно показывать размер в десятичных дробях, например1.7 MB
? - person TheTiger   schedule 17.04.2018.memory
, если вы передаете размер файла, вы должны использовать.file
- person Leo Dabus   schedule 17.04.2018if let url = info[UIImagePickerControllerImageURL] as? URL { do { if let fileSize = (try url.resourceValues(forKeys: [.fileSizeKey])).fileSize { print("fileSize", fileSize) let formatter = ByteCountFormatter() formatter.allowedUnits = .useKB formatter.countStyle = .file let imageSizeInKB = formatter.string(for: fileSize) ?? "" print("imageSizeInKB:",imageSizeInKB) } } catch { print(error)}}
- person Leo Dabus   schedule 17.04.2018.file
, он печатает1.7 MB
, а.memory
также печатает1.7 MB
. Я поменяю его на.memory
, но в каком случае это даст другой результат? - person TheTiger   schedule 17.04.2018.totalFileSizeKey
,.fileAllocatedSizeKey
и.totalFileAllocatedSizeKey
, который включает размер файла метаданных. - person Leo Dabus   schedule 17.04.2018.memory
. - person TheTiger   schedule 17.04.2018