2017-08-13 29 views
1

ファイルマネージャにファイルがあります。3アップロードしたいのですが、ベース64に変換して使用すると、サイズが非常に大きくなります!私は前のベース64ここ迅速なデータ圧縮方法3?

に変換データを圧縮すること

for i in 0...(rows?.count)! - 1 { 

    let filePath = filesurl[fileManagerViewController.selectedFileIndex[i]] 
     do { 
      let fileData = try Data.init(contentsOf: filePath) 

      let fileStream:String = fileData.base64EncodedString(options: NSData.Base64EncodingOptions.init(rawValue: 0)) 

      fileManagerViewController.upupload.append(fileStream) 


     } catch { 
      print(error.localizedDescription) 
     } 


     } 
私は
let compressedData = fileData(UF_COMPRESSED) 

を使用しかし、これを圧縮するために私を助けてください私のために動作しませんでした

変換するための私のコードですファイルをアップロードする前にファイルをアップロードしてください。

答えて

2

スウィフト3で書かれたlibcompressionラッパーです。 データ型の拡張として

スウィフトlibcompressionラッパー(ZLIB、LZFSE、LZMA、LZ4は、収縮RFC-1950、RFC-1951)

だからあなたはそのようなあなたのデータを圧縮することができます:

let fileData = try Data.init(contentsOf: filePath) 
let compressedData = fileData.compress(withAlgorithm: .LZFSE)