Я разрабатываю демо, и я застрял с этим. Я хочу перечислить в веб-приложении Java все вложения (например, PDF-файлы), но я не могу их получить и перечислить. Я могу получить только общие данные (String, Ints). Есть ли стандартный способ получить и показать ? Я прочитал все сообщения, но ничего не работает.
Здесь я добавляю поставщика с вложением:
public void addVendor(final Vendor vendor, final InputStream inputStream, final long size, final String contentType)
{
final Database db = getDb();
final int id = Integer.valueOf(vendor.get_id()) + 1;
final Response r1 = db.saveAttachment(inputStream, vendor.getName() + ".txt", contentType, String.valueOf(id), null);
vendor.setAttachment(r1);
final Response r = db.post(vendor);
System.out.println("Vendor created successfully. Id: " + r.getId() + ", rev: " + r.getRev());
System.out.println("File created successfully. Id: " + r1.getId() + ", rev: " + r1.getRev());
}
Здесь я пытаюсь получить данные:
public List<Vendor> getAllVendors()
{
List<Vendor> Vendors = new ArrayList<Vendor>();
final List<Vendor> vend2 = new ArrayList<Vendor>();
//Get db
final Database db = getDb();
final InputStream s = null;
//Get all documents
Vendors = db.view("_all_docs").includeDocs(true).query(Vendor.class);
final Database db1 = getDb();
for (final Vendor vend : Vendors) {
final Response r1 = vend.getAttachment();
final int id = Integer.valueOf(vend.get_id()) + 1;
// Here I am look to the attachment with the _ID and _REV
final InputStream in = db1.find(r1.getId(), r1.getRev()); vend.setInput(in); vend2.add(vend);
}
return Vendors;
}
В этом последнем коде я намеревался создать новый список со всеми данными о моем поставщике и большим двоичным объектом. Когда я добавляю поставщика (в первой части), я сохраняю «ответ» на вложение в объекте поставщика, поэтому, когда я пытался восстановить, у меня есть данные для работы (_id и _rev).