/// <summary> /// Uploads metadata associated with a file, without changing the file itself. Do not modify the id or filename using this method-- it's for any other key/value pairs. /// </summary> /// <param name="metadata">The updated FileMetaData to upload to Kinvey.</param> /// <param name="ct">[optional] The cancellation token. If cancellation is requested, an OperationCancelledException will be thrown.</param> public async Task <FileMetaData> uploadMetadataAsync(FileMetaData metadata, CancellationToken ct = default(CancellationToken)) { UploadMetaDataRequest uploadMetaDataRequest = buildUploadMetaDataRequest(metadata); ct.ThrowIfCancellationRequested(); FileMetaData fmd = await uploadMetaDataRequest.ExecuteAsync(); return(fmd); }
// Build upload request for updating metadata for existing file private UploadMetaDataRequest buildUploadMetaDataRequest(FileMetaData metadata) { if (metadata == null || metadata.id == null) { throw new KinveyException(EnumErrorCategory.ERROR_FILE, EnumErrorCode.ERROR_FILE_UPLOAD_MISSING_METADATA_INFORMATION, ""); } var urlParameters = new Dictionary <string, string>(); urlParameters.Add("appKey", ((KinveyClientRequestInitializer)client.RequestInitializer).AppKey); urlParameters.Add("fileID", metadata.id); UploadMetaDataRequest uploadMetaDataRequest = new UploadMetaDataRequest(metadata, urlParameters, this.client); client.InitializeRequest(uploadMetaDataRequest); uploadMetaDataRequest.customRequestHeaders = this.GetCustomRequestProperties(); return(uploadMetaDataRequest); }