Флаттер многочастного запроса по паре имя-значение на сервер - PullRequest
0 голосов
/ 19 мая 2019

Я должен отправить запрос на составную часть на сервер вместе с парой имя-значение на сервер, я имею в виду идентификатор вместе с ним. Не могли бы вы помочь мне, как отправить идентификатор вместе с несколькими файлами.

Upload() async {
  var stream = new https.ByteStream(DelegatingStream.typed(Files[0].openRead()));
  var length = await Files[0].length();


  var stream1 = new https.ByteStream(DelegatingStream.typed(Files[1].openRead()));
  var length1 = await Files[1].length();

  var stream2 = new https.ByteStream(DelegatingStream.typed(Files[2].openRead()));
  var length2 = await Files[2].length();



  var uri = Uri.parse(openurl);

  var request = new https.MultipartRequest("POST", uri);
  var multipartFile1 = new https.MultipartFile('XX', stream, length,
      filename: basename(Files[0].path));
  var multipartFile2 = new https.MultipartFile('YY', stream1, length1,
      filename: basename(Files[0].path));

  var multipartFile3 = new https.MultipartFile('ZZ', stream2, length2,
      filename: basename(Files[0].path));



  //contentType: new MediaType('image', 'png'));

  request.files.add(multipartFile1);
  request.files.add(multipartFile2);
  request.files.add(multipartFile3);
  request.fields.addAll(other)

  var response = await request.send();
  print(response.statusCode);
  response.stream.transform(utf8.decoder).listen((value) {
    print(value);
  });
}

Заранее спасибо

Sathish

1 Ответ

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

У меня просто была проблема, похожая на эту. Мне пришлось загрузить изображение по паре ключ-значение. Я понимаю, что могу загрузить пару ключ-значение, используя request.fields:

var request = new http.MultipartRequest("POST", uri);

request.fields['description'] = 'description';
request.fields['File-Name'] = 'FILENAME.jpg';
request.fields['qr_size'] = '3';
...