Publishing a File without Expiration

To publish a file without expiration, use the publishBody(_:) method. The URL will remain valid and the file will be accessible forever.

Swift 3:

  • // Assume that the KiiObject "object" has been instantiated.
    
    do{
      // Publish the KiiObject.
      let url = try object!.publishBodySynchronous()
    }catch(let error as NSError){
      // Handle the error.
      return
    }
  • // Assume that the KiiObject "object" has been instantiated.
    
    // Publish the KiiObject.
    object!.publishBody{ (object : KiiObject , url : String?, error : Error?) -> Void in
      if error != nil {
        // Handle the error.
        return
      }
    }

Objective-C:

  • // Assume that the KiiObject "object" has been instantiated.
    
    NSError *error = nil;
    
    // Publish the KiiObject.
    NSString *url = [object publishBodySynchronous:&error];
    if (error != nil) {
      // Handle the error.
      return;
    }
  • // Assume that the KiiObject "object" has been instantiated.
    
    // Publish the KiiObject.
    [object publishBodyWithBlock:^(KiiObject *obj, NSString *url, NSError *error) {
      if (error != nil) {
        // Handle the error.
        return;
      }
    }];

The basic steps are as follows:

  1. Upload the file as an object body.
  2. Publish the file with the publishBody(_:) method.

Note that a user needs to be permitted the KiiACLObjectActionRead action on a KiiObject to publish its object body (Once published, anyone can access the object body with the URL). See Setting a KiiObject's ACL for more information about the access rights.