public async Task <string> Run(string scriptFile, string JobWorkingDirectory, string JobArgument, Dictionary <string, string> Parameters, string FilePathArgument, string ProjectDirectory, IFormFile File) { try { using (var client = new HttpClient()) { client.Timeout = TimeSpan.FromSeconds(720); var multiContent = new MultipartFormDataContent(); client.DefaultRequestHeaders .Accept .Add(new MediaTypeWithQualityHeaderValue("application/json")); var payload = await File.GetFileArray(); multiContent.Add(new ByteArrayContent(payload), "file", File.GetFilename()); var query = $"{BaseUrl}/talend/{ProjectDirectory}/UploadAndRun()?" + $"scriptFile={scriptFile}" + $"&fileParameterName={FilePathArgument}" + $"&talendWorkflow={JobWorkingDirectory}" + $"¶meters={JsonConvert.SerializeObject(Parameters)}"; var response = await client.PostAsync(query, multiContent); return(await response.Content.ReadAsStringAsync()); } } catch (Exception ex) { return(null); } }
public async ValueTask <IActionResult> Import(IFormFile file) { if (file == null || file.Length == 0) { return(Content("file not selected")); } await _connection.ImportAsync(new KSociety.Com.App.Dto.Req.Import.Common.Connection(file.GetFilename(), file.GetFileArray().Result)); return(RedirectToAction(nameof(Index))); }