コード例 #1
0
        public Stream GetFile(FolderContentFileObj folderContent)
        {
            var getStreamTask = _folderContentManager.GetFileStreamAsync(folderContent.Name, folderContent.Path);

            Task.WaitAll(getStreamTask);

            var result = getStreamTask.Result;

            if (!result.IsSuccess)
            {
                throw new WebFaultException <string>(result.Exception.ToString(), HttpStatusCode.InternalServerError);
            }

            if (WebOperationContext.Current != null)
            {
                WebOperationContext.Current.OutgoingResponse.Headers.Add("Content-Disposition",
                                                                         "attachment; filename=" + folderContent.Name);
                WebOperationContext.Current.OutgoingResponse.ContentType   = "application/octet-stream";
                WebOperationContext.Current.OutgoingResponse.ContentLength = result.Data.Length;
            }

            OperationContext clientContext = OperationContext.Current;

            clientContext.OperationCompleted += delegate
            {
                result.Data?.Dispose();
            };

            return(result.Data);
        }
コード例 #2
0
        public void ClearUpload(FolderContentFileObj folderContent)
        {
            if (folderContent == null)
            {
                return;
            }

            var cancelUploadTask = _uploadFileManager.CancelUploadAsync(folderContent.Name, folderContent.Path);

            Task.WaitAll(cancelUploadTask);
        }
コード例 #3
0
        public void CancelUpload(FolderContentFileObj folderContent)
        {
            if (folderContent == null)
            {
                return;
            }

            var cancelUploadTask = _uploadFileManager.CancelUploadAsync(folderContent.Name, folderContent.Path);

            Task.WaitAll(cancelUploadTask);

            var result = cancelUploadTask.Result;

            if (!result.IsSuccess)
            {
                throw new WebFaultException <string>(result.Exception.ToString(), HttpStatusCode.InternalServerError);
            }
        }
コード例 #4
0
        public void UpdateFileContent(FolderContentFileObj folderContent)
        {
            if (folderContent == null)
            {
                return;
            }

            var updateFileResult =
                _uploadFileManager.UpdateFileContentAsync(folderContent.Name, folderContent.Path, folderContent.NewValue);

            Task.WaitAll(updateFileResult);

            var result = updateFileResult.Result;

            if (!result.IsSuccess)
            {
                throw new WebFaultException <string>(result.Exception.ToString(), HttpStatusCode.InternalServerError);
            }
        }