example ios swift uiimageview uiimagepickercontroller

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 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)