我正在尝试从连接到Heroku上托管的Parse Server实例的MongoDB数据库中获取PFFile。
我保存了文件(文件< 10mb):
var post = PFObject(className: "Posts")
let imageData = UIImageJPEGRepresentation(UIImage(named: "post_two")!, 0.5)
post["picImage"] = PFFile(name: "post_two.jpg", data: imageData!)
post["username"] = "example"
post["title"] = "welcome"
post["info"] = "Thanks"
post.saveInBackgroundWithBlock { (success:Bool?, error:NSError?) in
if (success != nil && success == true)
{
print("post registred")
}
else{
print(error!.localizedDescription)
}
}
然后我加载了帖子:
let elements = PFQuery(className: "Posts")
elements.findObjectsInBackgroundWithBlock ({ (objects:[PFObject]?, error:NSError?) -> Void in
if error == nil
{
for object in objects!
{
//add found data to arrays (holders)
let imagesQuery = object.valueForKey("picImage") as! PFFile
picArray.append(imagesQuery)
}
}
else
{
print((error?.localizedDescription)! + "load post")
}
})
问题在于:
picArray[i].getDataInBackgroundWithBlock { (data:NSData?, error:NSError?) -> Void in
if error == nil
{
picImg.image = UIImage(data: data!)
}
else
{
print((error?.localizedDescription)!)
}
}
错误是:网络连接失败。睡眠后尝试4次为13.835050秒。 [错误]:不支持的网址(代码:100,版本:1.12.0)不支持的网址
在DEBUG中,getDataInBackgroundWithBlock中的数据是NiL。我不知道问题是文件存储,加载还是应用程序传输安全设置(在某些帖子中,有些建议包括例外域,那些我已经正确插入,但没有任何改变)。
非常感谢,我不知道在哪里找到解决方案
答案 0 :(得分:0)
On Parse服务器文件以下列方式存储: [SERVER_URL] /文件/ [APP_ID] / [YOUR_FILE]
对于Parse"不支持的URL"对应于NSURLErrorUnsupportedURL。 我认为您的网址包含一些必须被转义百分比的字符。 因此,您的[APP_ID]或[YOUR_FILE]可以包含网址中不支持的字符。
由RFC 3986定义的一般URI。 你可以在这里看到unreserved characters
您可以通过以下方式获取您的网址:
private var _BASE_REF = Firebase(url: "https://jokes-fbb87.firebaseio.com/")
private var _USER_REF = Firebase(url: "https://jokes-fbb87.firebaseio.com/users")
private var _JOKE_REF = Firebase(url: "https://jokes-fbb87.firebaseio.com/jokes")
如果您将此网址粘贴到网络浏览器中,它将为您逃脱。
尝试更改Heroku配置变量中的APP_ID。 并将其添加到AppDelegate.swift
使用旧的Swift 版本:
print(picArray[i].url)
使用 Swift 3 :
let configuration = ParseClientConfiguration {
$0.applicationId = "YOUR NEW APP ID"
$0.server = "http://example.com/parse"
}
Parse.initializeWithConfiguration(configuration)
抱歉我的英语不好, 我希望我的回答很有帮助