@46kvolamak

Как правильно отконвертировать Blob в pdf файл?

С помощью библиотеки react-pdf я создаю pdf документ и мне нужно сразу после скачивания отправить этот файл на сервер,
<PDFDownloadLink document={<MyDoc />} fileName="somename.pdf">
        {({ blob, url, loading, error }) => {
        return (
          <>
            <div onClick = {() => sendPdf(blob)}>Скачать</div>          
          </>
        )
        }}
      </PDFDownloadLink>

Тут я передаю blob параметр моего pdf файла в функцию которая собирает из blob новый pdf файл и отправляет его на сервер. Правильно ли я делаю, почему то отконвертированный новый Pdf файл не открывается.

const formData = new FormData()
    const data2 = new File([blob], "abb", {
      type: "application/pdf"
    })
    formData.append('File', data2)
  • Вопрос задан
  • 1287 просмотров
Решения вопроса 1
zkrvndm
@zkrvndm
Архитектор решений
Немножко не так, конструктор new File здесь совершенно НЕ нужен.

Делайте так:
// Асинхронная функция для отправки переданного Blob на сервер:

async function sendPdf(blob) {

    // Создаем форму с файлом:
    var form_data = new FormData();
    form_data.append('file', blob, 'somename.pdf');

    // Отправляем форму на сервер (замените адрес обработчика на свой):
    var response = await (await fetch('https://yousite.ru/handler.php', {
        method: 'POST',
        body: form_data
    })).text();

    // Выводим ответ сервера в консоли:
    console.log('Ответ сервера: ' + response);
    
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы