2016-10-16 5 views
2

選択した画像をbase64に変換してからサーバーにアップロードしようとしていますが、私は未知のタイプと画像フォーマットの作成エラーはエラーios10 Swift 3 - [一般]不明なタイプの画像フォーマットを作成するとエラーが発生する

@IBAction func selectImage(_ sender: AnyObject) { 


     selectImage.allowsEditing = true //2 
     selectImage.sourceType = .photoLibrary //3 
     present(selectImage, animated: true, completion: nil)//4 


    } 



func imagePickerController(_ selectImage: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
      let chosenImage = info[UIImagePickerControllerEditedImage] as! UIImage //2 

      profilePic.contentMode = .scaleAspectFit //3 
      profilePic.image = chosenImage //4 

      let quality = 1.0 
      base64String = (UIImageJPEGRepresentation(chosenImage, CGFloat(quality))?.base64EncodedString())! 
      //print (base64String) 

      self.dismiss(animated: true, completion: nil) //5 
     } 

答えて

0

で取得した画像ピッカーあなたはピッカーのデリゲート機能にAnyAnyObjectを変更しようとしたことがありますか? swift3ため 正しい構文は次のとおりです。

func imagePickerController(_ picker: UIImagePickerController, 
           didFinishPickingMediaWithInfo info: [String : Any]) { 
} 
0

はこれを試してみてください:

if let chosenImage = info[UIImagePickerControllerOriginalImage] as? UIImage { 
     ... 
    } 
0

私はイメージピッカーでタップされた瞬間に、シミュレータでそのエラーを取得しますが、ユーザーBEFOREよ「選択」ボタンをタップして選択を確定しました。つまり、外見がすべて正常に機能している場合は、アプリが表示されます。

ユーザーは「キャンセル」を押すこともできますが、ピッカーに残っていることがあります(コントロールがアプリケーションに戻される前に別の画像をタップすると同じエラーがコンソールに表示されます)。シミュレータで実行中)。

関連する問題