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); }
public void ClearUpload(FolderContentFileObj folderContent) { if (folderContent == null) { return; } var cancelUploadTask = _uploadFileManager.CancelUploadAsync(folderContent.Name, folderContent.Path); Task.WaitAll(cancelUploadTask); }
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); } }
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); } }