размер нового BLOB-объекта ([data]) составляет 70 КБ, а сервер отправляет буфер размером 20 КБ (загрузка pdf с сайта mongo) - PullRequest
0 голосов
/ 10 октября 2018

Вот код

{
    const response = await this.props.appActions.fetchFileFromMongo(filename)
    const blob = new Blob([response], { type: 'application/pdf' })
    alert('file size ' + blob.size) // display 73214 so (70ko) 
    const url = window.URL.createObjectURL(blob)
    const link = document.createElement('a')
    link.href = url
    link.download = `${type}-${filename}.pdf`
    setTimeout(() => {
      link.click()
      this.setState({ loading: false })
    }, 1000)
}

код действия приведения:

export function fetchFileFromMongo (filename) {
  return dispatch => {
    dispatch(fetchFileFromMongoRequest())
    return fetch(`${Constants.API_URL}file/${filename.toLocaleLowerCase()}`, {
      method: 'GET',
      mode: 'cors',
      type: 'json',
      headers: new Headers({
        'Accept': 'application/json',
        'Content-Type': 'application/json',
        'X-Access-Token': localStorage.getItem('token')
      })
    })
      .then(checkHttpStatus)
      .then((response) => {
        return response.blob() // this was a problem but i fixed it long ago
      })

      .then((response) => {
        dispatch(fetchFileFromMongoSuccess(response))
        return response
      })
      .catch((error) => {
        console.dir(error)
        dispatch(displayErrorDialog(error, Constants.FETCH_FILE_FAIL))
        return error
      })
  }
}

В результате получается поврежденный файл PDF (70 КБ) вместо правильных файлов размером 22 КБ, которые я сижувнутри монго (я проверил файл перед вставкой), кто-то может указать мне правильное направление?Я понятия не имею, что может происходить, тот же код, который использовался для бесперебойной работы всего несколько месяцев назад

Любая помощь будет оценена

The buffer inside devtools showing a ~20ko size

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