public async Task <IActionResult> UploadFileAsJson([FromBody] SharedModels.FileDataModel fileDataModel) { var filePath = System.IO.Path.GetTempFileName(); var fileBytes = Convert.FromBase64String(fileDataModel.Base64String); await System.IO.File.WriteAllBytesAsync(filePath, fileBytes); return(Ok()); }
private async void BtnUploadFileAsJson_Click(object sender, RoutedEventArgs e) { Windows.Storage.Pickers.FileOpenPicker fileOpenPicker = new Windows.Storage.Pickers.FileOpenPicker() { SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop, ViewMode = Windows.Storage.Pickers.PickerViewMode.List }; fileOpenPicker.FileTypeFilter.Add(".pdf"); fileOpenPicker.FileTypeFilter.Add(".jpg"); var file = await fileOpenPicker.PickSingleFileAsync(); if (file != null) { SharedModels.FileDataModel model = new SharedModels.FileDataModel(); switch (file.FileType) { case ".pdf": model.MimeType = "application/pdf"; break; case ".jpg": model.MimeType = "image/jpeg"; break; } model.Extension = file.FileType; var fileBytes = await StorageFileToByteArray(file); model.Base64String = ByteArrayToBase64(fileBytes); model.FileName = file.Name; using (var client = new HttpClient()) { var json = Newtonsoft.Json.JsonConvert.SerializeObject(model); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); StringContent theContent = new StringContent(json, System.Text.Encoding.UTF8, "application/json"); try { var response = await client.PostAsync(new Uri($"{ApiUrl}UploadFileAsJson"), theContent); } catch (Exception) { } } } }
public async Task <IActionResult> GetFileData() { var temp = System.IO.Path.GetTempPath(); var fileName = $"{Guid.NewGuid().ToString()}.txt"; var filePath = System.IO.Path.Combine(temp, fileName); var text = "sgfsdgsdgsdgdsg"; await System.IO.File.WriteAllTextAsync(filePath, text); SharedModels.FileDataModel model = new SharedModels.FileDataModel() { Extension = ".tmp", FileName = System.IO.Path.GetFileName(filePath) }; var fileBytes = await System.IO.File.ReadAllBytesAsync(filePath); model.Base64String = Convert.ToBase64String(fileBytes); return(Ok(model)); }