Загрузка файла Excel на сервер, вопрос о кодировке - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь загрузить файл с помощью Ant Design Upload (https://ant.design/components/upload/) в лямбда-функцию, когда он приходит, console.log показывает что-то вроде:

----------------------------- 130470879520252100791020369308 Content-Disposition: form-data; Name = "файл"; filename = "Ao6kyE7YF5KUaKFm.xlsx" Тип содержимого: применение / ДПЦ-office.xlsx

PK [M ...

Понятия не имею, какой это формат. Это двоичный файл? И как я могу сохранить его в виде файла? Я пытался использовать это без успеха. Создает файл с буквенной строкой сверху.

fs.writeFile("/tmp/test.xlsx", event.body, function(err) {
    if(err) {
        return console.log(err);
    }

    console.log("The file was saved!");
});

1 Ответ

0 голосов
/ 03 января 2019

Если вы измените расширение файла с .xlsx на .zip, вы увидите, что это заархивированный архив. Все офисные расширения, оканчивающиеся на «x», имеют одинаковое поведение (.docx, .pptx и т. Д.). Для работы с файлами Excel я бы рекомендовал SheetJS для чтения и записи файлов Excel. Если вам нужно что-то особенное для Node, у них есть демо здесь .

Кроме того, причина, по которой он отображается в виде строки, заключается в сжатии данных. Как интересное примечание, причина, по которой он начинается с PK, заключается в том, что изобретатели zip-формата были PKWare .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...