ios - example - ¿Cómo obtener el tamaño del archivo de imagen en Swift?
uiimagepickercontroller swift 3 (6)
Prueba esto
import Darwin
...
let size = malloc_size(&_attr)
estoy usando
UIImagePickerControllerDelegate,
UINavigationControllerDelegate,
UIPopoverControllerDelegate
Estos delegados para elegir la imagen de mi galería o mi cámara. Entonces, ¿cómo puedo obtener el tamaño del archivo de imagen después de elegir una imagen?
Quiero usar esto:
let filePath = "your path here"
var fileSize : UInt64 = 0
do {
let attr : NSDictionary? = try NSFileManager.defaultManager().attributesOfItemAtPath(filePath)
if let _attr = attr {
fileSize = _attr.fileSize();
print(fileSize)
}
} catch {
}
pero aquí necesito un camino, pero ¿cómo puedo obtenerlo sin un solo archivo de imagen?
Swift 3
let uploadData = UIImagePNGRepresentation(image)
let array = [UInt8](uploadData)
print("Image size in bytes:/(array.count)")
Swift 3/4:
if let imageData = UIImagePNGRepresentation(image) {
let bytes = imageData.count
let kB = Double(bytes) / 1000.0 // Note the difference
let KB = Double(bytes) / 1024.0 // Note the difference
}
Tenga en cuenta la diferencia entre kB y KB. Respondiendo aquí porque en mi caso tuvimos un problema mientras considerábamos los kilobytes como 1024 bytes, pero el servidor lo consideró como 1000 bytes, lo que causó un problema. Link para aprender más.
PD. Casi seguro que irás con kB (1000).
let data = UIImageJPEGRepresentation(image, 1)
let imageSize = data?.length
¿Duplicado de cómo obtener el tamaño de un UIImage en KB?
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
let selectedImageData: NSData = NSData(data:UIImageJPEGRepresentation((selectedImage), 1))
let selectedImageSize:Int = selectedImageData.length
print("Image Size: %f KB", selectedImageSize /1024.0)
var image = info[UIImagePickerControllerOriginalImage] as! UIImage
var imgData: NSData = NSData(data: UIImageJPEGRepresentation((image), 1))
// var imgData: NSData = UIImagePNGRepresentation(image)
// you can also replace UIImageJPEGRepresentation with UIImagePNGRepresentation.
var imageSize: Int = imgData.length
print("size of image in KB: %f ", Double(imageSize) / 1024.0)