Я пытаюсь отправить изображение с клиента Android на сервер Python, я достиг этого раньше с помощью клиента тестирования Python и сервера.По сути, мое клиентское приложение принимает форму, состоящую из данных пользователя и изображения.После того, как пользователь выбирает изображение, я получаю URI в методе onActivityResult и анализирую его в строкувызывается с данными формы как дополнительные функции в массиве в связке, например так.
Bundle b=new Bundle();
b.putStringArray("regValues", new String[]{name,email,selectedImagePath});
в процессе отправки я устанавливаю соединение с сервером и пытаюсь отправить изображение следующим образом.
`// установить связь с сервером
try{
//refer to the host computer's loopback interface
host = InetAddress.getByName("10.0.2.2");
link = new Socket(host,port);
in = new BufferedReader(new InputStreamReader(link.getInputStream()));
//access the strings that were passed to this activity
Bundle b = this.getIntent().getExtras();
String[] regFormValues = b.getStringArray("regValues");
//display connection confirmation
String message = in.readLine();
status.setText(message);
File myFile = new File (regFormValues[2]);
byte [] mybytearray = new byte [(int)myFile.length()];
FileInputStream fis = new FileInputStream(myFile);
BufferedInputStream bis = new BufferedInputStream(fis);
bis.read(mybytearray,0,mybytearray.length);
OutputStream os = link.getOutputStream();
os.write(mybytearray,0,mybytearray.length);
os.flush();
link.close();
}
catch(IOException e ){
e.printStackTrace();
}
`
Он без проблем подключается к серверу, сервер создает файл для вывода для записи данных, как обычно, но он просто появляетсяпусто, поэтому данные не принимаются.Я думаю, что это может быть проблема с путем к файлу на стороне клиента.Есть идеи ?
РЕДАКТИРОВАТЬ: В основном я хотел бы знать, правильно ли я получаю доступ к файлу изображения или у вас есть предложения по доступу и отправке файла.