Установите ограничение на размер файла перед загрузкой его на сервер в iOS - PullRequest
0 голосов
/ 26 ноября 2018

Я загружаю медиа (изображение, видео, аудио) из локальной библиотеки фотографий iPhone.Теперь проблема в том, что файлы слишком велики по размеру.Есть ли способ установить следующие ограничения на файл для загрузки 1. Максимальный размер файла составляет 2 МБ.2. Уменьшите размер файла до 2 МБ, если он больше 2 МБ.3. Если размер файла меньше 2 МБ, просто загрузите его как есть.

1 Ответ

0 голосов
/ 26 ноября 2018

Для изображения / видео Вы можете получить размер, используя этот код в байтах

Ресурс является объектом ALAsset

asset.defaultRepresentation().size()

Для аудио Вы можете попробовать это

Получить media:MPMediaItem из MPMediaPickerController

    let fileUrl = NSURL(fileURLWithPath: NSTemporaryDirectory() + (media.title!)) as URL!

    let asset = AVURLAsset(url: (media.assetURL!))

    let exportSession = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetHighestQuality)
    exportSession?.outputURL = fileUrl
    exportSession?.outputFileType = .mp3
    exportSession?.exportAsynchronously {

        if exportSession?.status == .completed {

            do {
                let data = try Data.init(contentsOf: fileUrl!)
                do { try data.write(to: fileUrl! as URL)
                    let size = data.count // in bytes
                } catch { print("something wrong.")}

            } catch {
                print("Something went worng.", exportSession?.status as Any)
            }
        } else {
            print("Something went worng.", exportSession?.status as Any)
        }
    }
...