Ошибка при попытке сохранить изображение в фоновом режиме в Xcode и синтаксическом анализе

#swift #parse-platform #parse-server #parse-ios-sdk

#swift #синтаксический анализ-платформа #синтаксический анализ-сервер #parse-ios-sdk

Вопрос:

Я пытаюсь сохранить изображение на сервере синтаксического анализа, запущенном с помощью AWS. когда я нажимаю кнопку postImage, я вижу следующее сообщение об ошибке:

«Данные не могут быть прочитаны, потому что они не в правильном формате»

. Моя Xcode версия 10.2.1

Если я сохраняю данные без того, чтобы файл изображения работал, класс создается на сервере синтаксического анализа, и добавляются как комментарий, так и пользовательские идентификаторы объектов.

Это код в кнопке:

 @IBOutlet weak var comment: UITextField!
@IBOutlet weak var imageToPost: UIImageView!

@IBAction func postImage(_ sender: Any) {
     if let image = imageToPost.image {

     // Create the class object for the Post
     let post = PFObject(className: "Post")
     post["Message"] = comment.text
     post["userId"] = PFUser.current()?.objectId

        // Create the image data
        if let imageData = image.pngData() {
            let imageFile = PFFileObject(name: "image.png", data: imageData)
            post["imageFile"] = imageFile
            post.saveInBackground { (success, error) in
                if let error = error {
                    print("There were issues saving the file: (error.localizedDescription)")
                    self.displayAlert(title: "Error", message: "Image could not be posted, please try again later")
                } else {
                    // SAving successful
                    print("File saved correctly")
                    self.displayAlert(title: "Image Posted", message: "Your image hase posted successfully")
                    self.comment.text = ""
                    self.imageToPost.image = nil
                }
            }
        }
    }
}
  

Поэтому я ожидаю, что класс будет создан с комментарием, идентификатором пользователя и файлом изображения. Но класс даже не создается, поскольку он переходит непосредственно в управление ошибками

Комментарии:

1. Это может быть связано с конфигурацией вашего сервера синтаксического анализа — см. Эту проблему .

2. Спасибо! Проблема действительно на стороне сервера с максимальным размером загрузки 20 МБ… Если я print(imageData) говорю, что это 28 МБ… Если вместо этого я конвертирую в jpg image.jpegData(compressionQuality: 0.3) , то изображение сохраняется на сервере

3. Отлично, вы также должны иметь возможность изменять максимальный размер загрузки в конфигурации вашего сервера синтаксического анализа, если это необходимо.

4. Не могли бы вы опубликовать ответ на этот вопрос для всех, у кого есть подобная проблема, и пометить ее как решенную.