Я пытаюсь отправить несколько файлов (изображений) в Gmail, но я не могу их отправить.Я попытался поместить multipart в массив, но вместо того, чтобы собирать файлы в одном письме, доставляются два письма.Мой код, как показано ниже:
Интерфейс:
public interface EmailService {
@Multipart
@POST("/send/email")
Call<OnlineAushadiModel> sendEmailOnlineAushadi(
@Part("FROM") RequestBody requestFrom,
@Part("TO") RequestBody requestTo,
@Part("SUBJECT") RequestBody requestSubject,
@Part("MailContain") RequestBody requestMailContain,
@Part("FileName") RequestBody requestFileName,
}
Основная деятельность:
private void sendData(HashMap<Integer, String> buttons) {
Date today = Calendar.getInstance().getTime();
to = RequestBody.create(MediaType.parse("text/plain"), "to");
from = RequestBody.create(MediaType.parse("text/plain"), "bajracharyasudeep@gmail.com");
subject = RequestBody.create(MediaType.parse("text/plain"), "You have received a new Order.");
content = RequestBody.create(MediaType.parse("text/plain"),
"Name: " + HomeActivity.username + "\n" +
"Contact Number: " + HomeActivity.phoneNumber + "\n" +
"Order date and Time: " + today + "\n" +
"Address For Delivery: " + etDeliveryAddress.getText().toString());
fileName = RequestBody.create(MediaType.parse("text/plain"),"hello");
fileToUpload = new MultipartBody.Part[buttons.size()];
for(int i = 0; i<buttons.size();i++){
Log.e("btnValue", buttons.get(i) + "");
File file = new File(buttons.get(i));
RequestBody mFile = RequestBody.create(MediaType.parse("image/" + fileExtension), file);
fileToUpload[i] = MultipartBody.Part.createFormData("file", file.getName(), mFile);
emailService = ApiClient.getApiClientOnlineAushadi().create(EmailService.class);
Call<OnlineAushadiModel> fileUpload = (Call<OnlineAushadiModel>) emailService.sendEmailOnlineAushadi(to,from,subject,content,fileName,fileToUpload[i]);
fileUpload.enqueue(new Callback<OnlineAushadiModel>() {
@Override
public void onResponse(Call<OnlineAushadiModel> call, Response<OnlineAushadiModel> response) {
Toast.makeText(getActivity(), "Success " + response.message(), Toast.LENGTH_LONG).show();
}
@Override
public void onFailure(Call<OnlineAushadiModel> call, Throwable t) {
Log.e("error",t.getMessage() + "");
}
});
}
Я пробовал другие методы, такие как вызов вызова API изпетля но это все равно не помогло.Кто-нибудь может помочь мне отправить несколько файлов в Multipart?