Exemple #1
0
        public fileUploadType InitiateFileUpload(PublishWorkbookRequest publishRequest)
        {
            var        uri     = Endpoints.GetFileUploadUri(baseUri, publishRequest.SiteId);
            ApiRequest request = new ApiRequest(uri, HttpMethod.Post, GetAuthToken(), headers: null, contentType: null, body: null, timeoutSeconds: publishRequest.PublishingTimeoutSeconds);

            var        errorMessage = String.Format("Failed to retrieve session id for new upload to site '{0}'", siteName);
            tsResponse response     = request.IssueRequest(errorMessage);

            // Extract site ID.
            fileUploadType uploadSession = response.GetFileUpload();

            return(uploadSession);
        }
Exemple #2
0
        public fileUploadType AppendToFileUpload(PublishWorkbookRequest publishRequest, fileUploadType fileUploadSession, FileStream fileStream)
        {
            var    uri            = Endpoints.GetFileUploadUri(baseUri, publishRequest.SiteId, fileUploadSession.uploadSessionId);
            var    boundaryString = Guid.NewGuid().ToString().Replace("-", "");
            string contentType    = String.Format("multipart/mixed; boundary={0}", boundaryString);

            byte[] requestBody = PublishRequestBuilder.BuildMultiPartAppendBody(publishRequest.FilePath, boundaryString, fileStream);

            var        errorMessage = String.Format("Failed to append file part for upload to site '{0}' with upload session id '{1}'", siteName, fileUploadSession.uploadSessionId);
            ApiRequest request      = new ApiRequest(uri, HttpMethod.Put, GetAuthToken(), headers: null, contentType: contentType, body: requestBody, timeoutSeconds: publishRequest.PublishingTimeoutSeconds);
            tsResponse response     = request.IssueRequest(errorMessage);

            return(response.GetFileUpload());
        }