Как реализовать опцию XPages FileUpload для управления несколькими файламиJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как реализовать опцию XPages FileUpload для управления несколькими файлами

Сообщение Anonymous »

Я добавил атрибут, позволяющий выбирать несколько файлов в элементе управления загрузкой файлов, как описано здесь:
https://domino-ideas.hcltechsw.com/ideas/DDXP-I-431
Когда я выбираю более 1 файла, элемент управления сообщает, что выбрано несколько файлов.
Для элемента управления я добавил специальную кнопку, которая Я привязан к классу управляемого компонента Java: Вот метод сохранения в Java-классе AttachmentBean:

Код: Выделить всё

private UploadedFile uploadedFile;

public void save(String parentId, String type, String fields) {
try {
IUploadedFile iUploadedFile = null;
if (null != uploadedFile) {
iUploadedFile = uploadedFile.getUploadedFile();
}
if (null != iUploadedFile) {
attachmentCrud.save(parentId, type, fields, iUploadedFile);
}
} catch (Exception e) {
//
}
}
Вызываемый метод сохранения делает главное. Однако вместо нескольких файлов сохраняется только 1 файл, поскольку я

Код: Выделить всё

@Override
public void save(String parentId, String type, String fields, IUploadedFile iUploadedFile) {
try {
if (null != iUploadedFile) {
Session sess = Factory.getSession(SessionType.CURRENT);
Database db = sess.getDatabase(null, filePath + fileName);
if (null != db) {
if (db.isOpen()) {
String fieldName = null;
//get the original filename
String tempClientFile = iUploadedFile.getClientFileName();
system.print.outline("# iUploadedFile - getClientFileName: " + iUploadedFile.getClientFileName());
system.print.outline("# iUploadedFile - getServerFileName:  " + iUploadedFile.getServerFileName());
system.print.outline("# iUploadedFile - getContentType:  " + iUploadedFile.getContentType());
system.print.outline("# iUploadedFile - getContentLength:  " + iUploadedFile.getContentLength());

//get the "" file (with a cryptic filename)
File tempFile = iUploadedFile.getServerFile();
Проблема заключается в том, что я пересылаю объект UploadedFile:
private UploadedFile uploadedFile;
На мой взгляд, это может представлять только один файловый объект. И я не могу найти объект с несколькими файлами в представляющем его классе:
https://public.dhe.ibm.com/software/dw/ ... pload.html
но тогда это Должны быть добавлены документация v9 и опция нескольких файлов v12, но я не могу найти последнюю версию документации по этому поводу?
Однако я могу позвонить:

Код: Выделить всё

System.out.println("iUploadedFile.getClientFileNames() = " + iUploadedFile.getClientFileNames());
String[] tmpFiles= iUploadedFile.getClientFileNames();
for (String s: tmpFiles) {
//Do your stuff here
System.out.println(s);
}
но при этом печатается только один файл.
Класс UploadedFile позволяет получить только один файл:

Код: Выделить всё

iUploadedFile = uploadedFile.getUploadedFile();
Кто-нибудь знает, как я могу адаптировать существующий код для поддержки загрузки нескольких файлов?

Подробнее здесь: https://stackoverflow.com/questions/797 ... les-option
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»