Как отправить запрос POST, содержащий массив объектов, на сервер PHP из приложения c # windows? - PullRequest
0 голосов
/ 28 мая 2019

Я разрабатываю приложение на C #, которое читает локальную базу данных MySQL и отправляет данные в виде запроса POST на онлайн-сервер PHP.

Сервер PHP готов к приему таких данных. (Это от Почтальона x-www-form-url-кодированный)

token:da979d2922c74d7851e6f0eff2270d73
branch:JKT
items[0][code]:0001-W*XL*B
items[0][name]:018/17 DRS XL BLUE
items[0][stock]:0
items[1][code]:0001-W*XL*BK
items[1][name]:018/17 DRS XL BLACK
items[1][stock]:0

Это мой код на C #. Я не могу добавить массив объектов в словарь, поэтому я ищу другой путь.

string query = "SELECT * FROM items";
db.Connection.Open();

MySqlDataAdapter dataAdapter = new MySqlDataAdapter(query, db.Connection);
DataTable dataTable = new DataTable();
dataAdapter.Fill(dataTable);

db.Connection.Close();

var dictionary = new Dictionary<string, string>();

dictionary.Add("token", "da979d2922c74d7851e6f0eff2270d73");
dictionary.Add("branch", "JKT");
dictionary.Add("items", dataTable); // Argument 2: cannot convert from 'System.Data.DataTable' to 'string'

var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://mysite.test/sync")
{
    Content = new FormUrlEncodedContent(dictionary)
};
var response = await client.SendAsync(request);
string responseString = await response.Content.ReadAsStringAsync();

Есть ли другой способ отправить данные формы запроса POST помимо словаря?

1 Ответ

0 голосов
/ 30 мая 2019

Мой ответ может быть не тот, который вам нужен, но если вы передаете строки, вы можете объединить их в c # с;разделитель и взорвать строку;на PHP и получить массив.Также попробуйте: dictionary.Add ("items []", dataTable);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...