示例#1
0
        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)
                    {
                    }
                }
            }
        }
示例#3
0
        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));
        }