Android — Как передать изображение из вида изображения для анализа с помощью PHP API

У меня есть API, который поддерживает файл $ _FILES [‘profile_image’].

У меня есть приложение для Android, которое позволяет пользователю выбрать изображение из своего внешнего хранилища мультимедиа, а затем он может отправить его вместе со многими другими полями editText и т. Д. В API.

Как я могу передать выбранное изображение в API?

Вот часть моего кода:

$return = array();
switch($_REQUEST['action']){
case 'register':

$v = true;
$fields =   array('u_first_name', 'u_last_name');
foreach($fields as $f)
${$f} = $_REQUEST[$f];

$image_file = $_FILES['profile_image'];

//validate, upload image and manipulate db
}

Текущий код Android / Java у меня есть:

submit_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

Boolean f;
Boolean i;

//Get All Fields
Edi_First_Name          = (EditText)findViewById(R.id.Edi_First_Name);
Edi_Last_Name           = (EditText)findViewById(R.id.Edi_Last_Name);
image_preview           = (ImageView)findViewById(R.id.Reg_Profile_Image_Preview);

//check if any fields are empty, if not proceed to api, else show errors
f = Function.notEmpty("First Name", Edi_First_Name);
f &= Function.notEmpty("Last Name", Edi_Last_Name);

//check if image has been set
i = Function.imageNotSet(image_preview);
f &= i;

if(f == true){
//if everything is validated,talk to api.

String first_name, last_name, company_name, job_title, email, contact, address_one, address_two, town, county, postcode, country, account_email, rep_account_email, account_password, rep_account_password;

first_name          = Function.getEditText(Edi_First_Name);
last_name           = Function.getEditText(Edi_Last_Name);

//pass parameters so that we can call the register api via FUNCTIONS.java
Function.registerCall(first_name, last_name, "test_image");
}
else{
Toast.makeText(getApplicationContext(), "Error.", Toast.LENGTH_SHORT).show();
}
}
});

Итак, глядя на код, как я могу передать изображение из imagview в качестве параметра в функции registerCall? Затем эта функция отправляет HTTP-запрос в API.

Кто-нибудь может предложить мне решение?

Спасибо

1

Решение

Хотя я не знаком с PHP, возможно, я могу указать вам правильное направление.

Во-первых, когда пользователь выбирает свое изображение из хранилища, он не только использует его для установки содержимого ImageView, но также сохраняет путь к изображению (например, в качестве поля действия).

Затем, когда необходимо выполнить вызов API — используйте сохраненный путь к файлу.

То, как вы должны обращаться с путем, который вы, вероятно, можете взять из Вот (<- textFile это твой путь).

0

Другие решения

Других решений пока нет …