Я использую Apache HttpComponents 'HttpClient
для загрузки файлов в сторонний веб-интерфейс. Код выглядит так:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("UPLOAD_URL");
FileBody bin = new FileBody(file, filename, "text/csv", "UTF-8");
MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart("Username", new StringBody("User"));
reqEntity.addPart("Password", new StringBody("Password"));
reqEntity.addPart("bin", bin);
httppost.setEntity(reqEntity);
HttpResponse response = httpclient.execute(httppost);
Это работает, как ожидалось.
Поскольку эти данные являются конфиденциальными, я не хочу, чтобы они хранились на стороне клиента. (Программа извлекает эти данные из веб-службы. Я создал файл только для его загрузки.)
Так что я ищу способ не использовать настоящий файл, а заменить его на какое-то представление в памяти. Я попытался использовать InputStreamBody
вместо этого, но эти запросы отклоняются сторонней системой.
Есть идеи, как это можно сделать?