Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        // 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);
        }