Загрузка изображения на сервер с помощью дротика, флаттера

  upload(File imageFile) async {
     var uploadURL = "http://xxxxxx.org.xx/appdata/members/images";
     var stream = new http.ByteStream(DelegatingStream.typed(imageFile.openRead()));
     var length = await imageFile.length();
     var uri = Uri.parse(uploadURL);
     var request = new http.MultipartRequest("POST", uri);
     var multipartFile = new http.MultipartFile('file', stream, length,
     filename: basename(imageFile.path));
     request.files.add(multipartFile);
     var response = await request.send();
     print(response.statusCode);
     response.stream.transform(utf8.decoder).listen((value) {
  print(value);
});}

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

0
0
344
1

Ответы 1

Код HTTP 301 означает, что сервер пытается перенаправить вас на другой URL-адрес - см. список кодов ответов википедии.

Я предполагаю, что ваш запрос был перенаправлен, а клиент не следует ... хотя MultipartRequest followRedirects должен быть истинным по умолчанию, вы можете попробовать установить это явно, и вы можете увеличить maxRedirects.

Я предлагаю протестировать API, который вы пытаетесь использовать с curl (или аналогичным), чтобы убедиться, что он работает должным образом, прежде чем пытаться использовать flutter.

Мой друг, я пробовал использовать followRedirects и maxRedirects! но это та же проблема. request.followRedirects = true; request.maxRedirects = 10;

Chinna Bhabu 27.07.2018 12:01

Другие вопросы по теме