gpt4 book ai didi

ios - Swift 3 上传图片到 Parse Server

转载 作者:行者123 更新时间:2023-11-28 10:14:59 25 4
gpt4 key购买 nike

我正在尝试使用 PFFile 将图像上传到 Parse Server。从 Parse Dashboard 手动上传它并从应用程序检索它没有问题。但是,如果我尝试使用此方法上传新的图像,则图像不会更新。

其余字段正在正确上传(姓名、姓氏、用户名和电子邮件)

保存方式:

@IBAction func saveBtnPressed(_ sender: Any) {

print("Start saving...")

let imageData = UIImagePNGRepresentation(profilePic.image!)
print ("imageData value:")
print(imageData!)
let imageFile = PFFile(name:"avatar.png", data:imageData!)
print ("imageFile value:")
print(imageFile!)

let query = PFQuery(className: "_User")
query.whereKey("username", equalTo: (PFUser.current()?.username)!)
query.findObjectsInBackground(block: { (objects, error) in
if let user = objects {
for object in user {
object["name"] = self.nameFld.text
object["lastname"] = self.lastnameFld.text
object["username"] = self.emailFld.text
object["email"] = self.emailFld.text
object["avatar"] = imageFile

print(object)
object.saveInBackground()
}
}
})

}

输出:

Start saving...
imageData value:
8358983 bytes
(lldb)

最佳答案

要完成这项工作,您只需要先上传图片,然后将其引用给用户

let imageData = UIImagePNGRepresentation(profilePic.image!)
print ("imageData value:")
print(imageData!)
let imageFile = PFFile(name:"avatar.png", data:imageData!)
print ("imageFile value:")
print(imageFile!)

imageFile.saveInBackground { (result, error) in
if let error = error{
print(error)
}else{
let query = PFQuery(className: "_User")
query.whereKey("username", equalTo (PFUser.current()?.username)!)
query.findObjectsInBackground(block: { (objects, error) in
if let user = objects {
for object in user {
object["name"] = self.nameFld.text
object["lastname"] = self.lastnameFld.text
object["username"] = self.emailFld.text
object["email"] = self.emailFld.text
object["avatar"] = imageFile

print(object)
object.saveInBackground()
}
}
})

}
}
}

请注意,在上面的示例中,即使没有用户匹配查询,文件也会始终上传到服务器,因此请考虑仅在获得查询结果后才上传文件。

关于ios - Swift 3 上传图片到 Parse Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42484153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com