我在Parse中保存了一个图像,之后我调用了Cloud Code中的一个函数来保存更多数据。我可以传递url和文件名。如何将云图功能连接到对象?
iOS代码:
NSData *imageData = UIImageJPEGRepresentation(photo.image, 40);
PFFile *imageFile = [PFFile fileWithName:@"photo.jpeg" data:imageData];
[imageFile saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if (!error) {
//Title
NSString *titleString = @"title";
//...
NSDictionary *dictionary = [[NSDictionary alloc]initWithObjectsAndKeys:
titleString,@"title",
//...
imageFile.url,@"photoUrl",
imageFile.name,@"photoName",
nil];
[PFCloud callFunctionInBackground:@"savePost"
withParameters:@{@"data": dictionary}
block:^(NSString *result, NSError *error) {
if (!error) {
//...
Cloud Code:
Parse.Cloud.define("savePost", function(request, response) {
Parse.Cloud.useMasterKey();
var item = new Parse.Object("Post");
item.set("title", request.params.data.title);
//...
item.set("photo", ???);
//...
我不想保存iOS应用中的数据。 我只需要在Parse中附加一张照片,其中有我的网址,就是“Post”对象。
谢谢
答案 0 :(得分:0)
无法按照您的意愿完成,因为解析对象无法作为参数传输到callFunctionInBackground
。非PFFile
可以作为objectId发送,将其留给云函数进行获取,但PFFile
不存在此类工具。
我能看到的唯一选择是在客户端上构建“Post”对象,同时设置其文件属性。从客户端保存。您希望云功能中的任何其他内容都可以在之后完成,无论是在云调用还是post的AfterSave处理程序中。