将保存的pffile连接到从iOS到Cloud Code的对象

时间:2016-01-05 18:15:27

标签: javascript ios parse-platform

我在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”对象。

谢谢

1 个答案:

答案 0 :(得分:0)

无法按照您的意愿完成,因为解析对象无法作为参数传输到callFunctionInBackground。非PFFile可以作为objectId发送,将其留给云函数进行获取,但PFFile不存在此类工具。

我能看到的唯一选择是在客户端上构建“Post”对象,同时设置其文件属性。从客户端保存。您希望云功能中的任何其他内容都可以在之后完成,无论是在云调用还是post的AfterSave处理程序中。