2016-08-20 4 views
0

WebフロントエンドとiOSおよびAndroidクライアントを持つParseを使用するシステムがあります。 すべては私たちがHTTPS解析:JSONテキストが配列またはオブジェクトで始まっていないため、フラグメントが設定されないようにするためのオプション

に移動するまで、私はファイルをアップロードしようとしたとき、私はで、次のメッセージが表示されますしかし、まだすべてがAndroidとウェブ(Javascriptの)上で正常に動作罰金働いていたのiOS

JSONテキストはarrayやobjectで始まっておらず、フラグメンテーションが設定されていないというオプションがあります。

原因となっているコードは次のとおりです。私は(Search.sharedInstance.imageURL!= nilの)

// Send to Parse    
if PFUser.currentUser() != nil { 
    sentReport["user"] = Search.sharedInstance.currentUser 
} 

sentReport["reportType"] = userSelectedReportType 

Search.sharedInstance.reportText = reportNotesTextView.text 
sentReport["reportDescription"] = Search.sharedInstance.reportText 

if (reportLatCoords != nil && reportLngCoords != nil) { 
    sentReport["reportPosition"] = PFGeoPoint(latitude: reportLatCoords!, longitude: reportLngCoords!) 
} 

sentReport["search"] = Search.sharedInstance.selectedPerson 

let reportImageFile = PFFile(name: "\(Search.sharedInstance.timeStamp).jpg", data: reportImage!) 

if reportPhoto.image != UIImage(named: "selectPhoto") { 
    if Search.sharedInstance.imageURL != nil { 
     sentReport["reportPicture"] = reportImageFile 
     sentReport.setObject(Search.sharedInstance.imageURL!.absoluteString, forKey: "reportImageUri") 
    } 
} 

sentReport["loggedAt"] = date 

// Handle success & failure 
sentReport.saveInBackgroundWithBlock { (success, error) -> Void in 

    if success == true { 
     self.dismissViewControllerAnimated(true, completion: {() -> Void in }) 
    } else { 

     if Reachability.isConnectedToNetwork() == false { 
      sentReport.pinInBackgroundWithBlock { (success, error) -> Void in 
       if success { 
        Search.sharedInstance.syncReportItemsWithServer() 
       } 
      } 
      self.displayAlert("No internet connection available", message: "But don't worry, your report will be sent automatically when you regain an internet connection.") 
     } 
    } 
}  

私は苦労していますビットのI /パースの修正これが私が持っている多くの時間を読むこと、であるアップロード中に画像を含める場合にのみ失敗します画像のアップロードを制御できません。また、それはAndroid SDKで正常に動作しますか?

私のサーバーアドレスは次のとおりです。https://lowlands.lab-cloud.net/parse

更新

ReportImage

var reportImage = UIImageJPEGRepresentation(self.reportPhoto.image!, 
    1.0) 

if reportImage!.length < 10000000 { 
    reportImage = UIImageJPEGRepresentation(self.reportPhoto.image!, 0.75) 
} else if (reportImage!.length >= 10000000) && (reportImage!.length <= 20000000) { 
    reportImage = UIImageJPEGRepresentation(self.reportPhoto.image!, 0.50) 
} else if (reportImage!.length > 20000000) { 
    reportImage = UIImageJPEGRepresentation(self.reportPhoto.image!, 0.25) 
} 

答えて

2

問題は、これが...残念ながら私たちとそれを共有didntは、あなたのreportImage変数となりますどのようにUIImagesをPFFIleに保存するのですか

let imageData = UIImagePNGRepresentation(image) 
let imageFile = PFFile(name:"image.png", data:imageData) 

var userPhoto = PFObject(className:"UserPhoto") 
userPhoto["imageName"] = "My trip to Hawaii!" 
userPhoto["imageFile"] = imageFile 
userPhoto.saveInBackground() 
+0

あなたはどういう意味ですか?これは私がhttps – Burf2000

+1

に行ったときに動作していたので、おそらくイメージの格納には使われていません...パース設定でサーバーを定義するときにスラッシュを追加したり、最後のスラッシュを削除したりできますか?/ parseまたは/ parse/try/parse/1/ –

+0

/1は元の解析ホストサービスではありませんか?私は試みるだろう – Burf2000

関連する問題