Как отправить большой rtf файл чтоб дождаться ответа от сервера (ошибка The user aborted a request)

При вставке из буфера текста (текст, таблицы, формУлы) в форму он отправляется на сервер для конвертации, а ответ долго приходит и вылезает ошибка The user aborted a request.

Если перетащить сам файл в форму, то все ок, ответ приходит и ошибки нет. Проблема именно при вставке из буфера.

Я подумал, что можно попробовать разделить очень большой rtf-файл на несколько и по частям отправлять на сервер.

Подскажите, пожалуйста, как правильно сделать. Мне кажется, должен быть не один вариант решения этой проблемы.

    apiRoute.post<{ file?: { buffer: Buffer } }>(async (req, res) => {
        if (!req.file) {
            throw new BadRequest('Expected form with a field "file"')
        }
        let rtf = req.file.buffer.toString('utf8')
        
    rtf = rtf.replace(/\{\\\*\\objclass\s+Equation\.3\}/g, `{\\*\\objclass Equation.2}`)
    // Доходит до сюда, дальше не отрабатывает

    const rtfAfterLibreResponse = await convertRtf(rtf, 'rtf')

    const rtfAfterLibre = await rtfAfterLibreResponse.text()

    const docxResponse = await convertRtf(rtfAfterLibre, 'docx')

    const docx = await docxResponse.arrayBuffer()

    const form = new FormData()
    form.append('file', Buffer.from(docx), '1.docx')

    const kxmlResponse = await fetchServer(`${process.env.TEXT_SERVER_URL}/docx/kxml`, {
        method: 'POST',
        body: form as any,
    })

    const kxml = await kxmlResponse.text()

    res.setHeader('Content-Type', 'text/xml')

    return res.send(kxml)
})

Ответы (0 шт):