private MultipartFormDataContent CreateUploadFilesContent(UploadFilesRequest request) { MultipartFormDataContent form = new MultipartFormDataContent(); if (request == null || request.Files == null || !request.Files.Any()) { return(form); } form.Add(new StringContent(request.OrganizationId), nameof(UploadFilesRequest.OrganizationId)); form.Add(new StringContent(request.ApplicationId), nameof(UploadFilesRequest.ApplicationId)); form.Add(new StringContent(request.RequestLogId), nameof(UploadFilesRequest.RequestLogId)); form.Add(new StringContent(request.RequestLogClientId), nameof(UploadFilesRequest.RequestLogClientId)); form.Add(new StringContent(request.HttpStatusCode.ToString()), nameof(UploadFilesRequest.HttpStatusCode)); foreach (var file in request.Files) { if (!System.IO.File.Exists(file.FilePath)) { continue; } form.Add(new ByteArrayContent(System.IO.File.ReadAllBytes(file.FilePath)), nameof(UploadFilesRequest.Files), file.FullFileName); } return(form); }
private void UploadRequestLogFiles(string requestLogId, CreateRequestLogRequest request, IList <LoggerFile> files) { if (files == null || !files.Any()) { return; } if (string.IsNullOrEmpty(requestLogId)) { return; } IList <File> requestFiles = files.Select(p => new File { FileName = p.FileName, Extension = p.Extension, FullFileName = p.FullFileName, FilePath = p.FilePath }).ToList(); UploadFilesRequest uploadRequest = new UploadFilesRequest { OrganizationId = request.OrganizationId, ApplicationId = request.ApplicationId, RequestLogId = requestLogId, RequestLogClientId = request.ClientId, HttpStatusCode = request.WebRequest?.Response?.HttpStatusCode ?? 500, Files = requestFiles }; _kissLogApi.UploadRequestLogFiles(uploadRequest); }
public ApiResult <bool> UploadRequestLogFiles(UploadFilesRequest request) { MultipartFormDataContent content = CreateUploadFilesContent(request); string url = "api/logs/v1.0/uploadRequestLogFiles"; return(_apiClient.Post <bool>(url, content)); }
public async Task <ApiResult <bool> > UploadRequestLogFilesAsync(UploadFilesRequest request) { MultipartFormDataContent content = CreateUploadFilesContent(request); string url = "api/logs/v1.0/uploadRequestLogFiles"; return(await _apiClient.PostAsync <bool>(url, content).ConfigureAwait(false)); }
/// <summary> /// Uploads a single file /// Does not replace already existing files, instead the file will be renamed (e.g. test(1).txt if test.txt already /// exists) /// Use UpdateSingle to replace the contents of an already existing file /// </summary> /// <param name="libraryId">The id of the library the file should be uploaded to</param> /// <param name="targetDirectory">The directory the file should be uploaded to</param> /// <param name="targetFilename">The name of the file</param> /// <param name="fileContent">The new content of the file</param> /// <param name="progressCallback">Optional progress callback (will report percentage of upload)</param> public async Task <bool> UploadSingle(string libraryId, string targetDirectory, string targetFilename, Stream fileContent, Action <float> progressCallback = null) { // to upload files we need to get an upload link first var req = new GetUploadLinkRequest(AuthToken, libraryId); var uploadLink = await _webConnection.SendRequestAsync(ServerUri, req); var uploadRequest = new UploadFilesRequest(AuthToken, uploadLink, targetDirectory, targetFilename, fileContent, progressCallback); return(await _webConnection.SendRequestAsync(ServerUri, uploadRequest)); }
public async Task <IActionResult> AddAdditionalThesisFile(Guid id, [FromForm] UploadFilesRequest request) { if (!_thesisService.ThesisExists(id)) { return(new NotFoundObjectResult("Nie znaleziono pracy dla podanego id.")); } var isPromoter = _thesisService.IsPromoter(id); if (!isPromoter && !_userContext.CurrentUser.IsAdmin) { return(new ForbidResult("Brak uprawnień do dodania plików.")); } await _fileService.SaveAdditionalThesisFiles(id, request.Files); return(new OkResult()); }
public ApiResult <bool> UploadRequestLogFiles(UploadFilesRequest request) { return(_v1Api.UploadRequestLogFiles(request)); }
public async Task <ApiResult <bool> > UploadRequestLogFilesAsync(UploadFilesRequest request) { return(await _v1Api.UploadRequestLogFilesAsync(request).ConfigureAwait(false)); }