Можно ли использовать двумерные массивы для захвата имени файла и его содержимого base64 (при условии, что он был преобразован заранее)?Как можно это сделать?
Я бы предположил, что это будет включать использование двух моделей ngModel:
In app.component.html
[(ngModel)]="userModel.fileDocs[0][0]" [(ngModel)]="userModel.fileDocs[0][1]"
Первая и вторая привязки соответственно захватывают имена и содержимое.
- Имя первого файла с номером [0] [0] и содержимое файла [0] [1].
- Имя второго файла в [1] [0] и его содержимое в [1] [1].
- Имя третьего файла в [2] [0] и его содержимое в [2] [1].
- Имя четвертого файла в [3] [0] и его содержимое в [3] [1].
В app.component.ts
[['', ''], ['', ''], ['', ''], ['','']]
Массивы с первого по четвертый в массиве будут первым индексом в массиве [0-3] [].Доступ к строкам в массиве осуществляется через второй индекс двумерного массива, [] [0-1].
Я пытался сделать итерацию, которая добавляет имя файла и содержимое в массивСтроки, однако, результат, что только массив в массиве 2-D был итерирован.
In app.component.ts
for (let i = 0; i < modifiedUserModel.fileDocs.length; i++) {
// Update file values from userModel to include the base64 string content and the file name
modifiedUserModel.fileDocs[i][0] = '{"fileName": "' + this.elem.files[i].name + '"';
modifiedUserModel.fileDocs[i][1] = '"fileData": "' + this.base64result + '"}';
}
Ожидаемый результат былимена файлов будут совпадать с первой строкой в каждом из массивов в двумерном массиве, и что base64 будет введен во вторую строку массивов в содержимом двумерного массива.
"fileDocs": [
[
"{\"fileName\": \"output1.docx\"",
"\"fileData\": \"base64 content Here\"}"
],
[
"{\"fileName\": \"output2.docx\"",
"\"fileData\": \"base64 content Here\"}"
],
[
"{\"fileName\": \"output3.docx\"",
"\"fileData\": \"base64 content Here\"}"
],
[
"{\"fileName\": \"output4.docx\"",
"\"fileData\": \"base64 content Here\"}"
]
]
Фактический результат, что это произошло только для первого массива в двумерном массиве.Другие отображали только путь к файлу как в области имени, так и в области содержимого.Кроме того, последний отправленный файл оказался тем, который проходит как первый файл.Я предполагаю, что это связано с итерацией.
"fileDocs": [
[
"{\"fileName\": \"output4.docx\"",
"\"fileData\": \"base64 content Here\"}"
],
[
"C:\\fakepath\\output2.docx",
"C:\\fakepath\\output2.docx"
],
[
"C:\\fakepath\\output3.docx",
"C:\\fakepath\\output3.docx"
],
[
"C:\\fakepath\\output4.docx",
"C:\\fakepath\\output4.docx"
]
]