                     weChatMessageInfo["mediaUrl"] = url.absoluteString
                 case .image(let image):
                     weChatMessageInfo["objectType"] = "2"
-                    if let fileImageData = UIImageJPEGRepresentation(image, 1) {
-                        weChatMessageInfo["fileData"] = fileImageData
-                    }
+                    if let imageData = UIImageJPEGRepresentation(image, 0.9) {
+                        weChatMessageInfo["fileData"] = imageData
+                    }
+                case .imageData(let imageData):
+                    weChatMessageInfo["objectType"] = "2"
+                    weChatMessageInfo["fileData"] = imageData
                 case .audio(let audioURL, let linkURL):
                     weChatMessageInfo["objectType"] = "3"
                     if let urlString = linkURL?.absoluteString {

                    status.append(url.absoluteString)
                    mediaType = Media.url(url)
                case .image(let image):
                    guard let imageData = UIImageJPEGRepresentation(image, 0.7) else {
                        completionHandler(.failure(.invalidImageData))
                        return
                    }
                    parameters["pic"] = imageData
                    mediaType = Media.image(image)
                case .audio:
                    fatalError("web Weibo not supports Audio type")
                case .video:

                        completionHandler(.success(nil))
                    }
                }
            case .image, .imageData:
                let urlString = "https://api.weibo.com/2/statuses/share.json"
                shared.upload(urlString, parameters: parameters) { (responseData, HTTPResponse, error) in
                    var reason: Error.APIRequestReason
