2015-12-22 3 views
0

Я просто пытаюсь загрузить файл с сервера и запросить загрузку в браузере для просмотра пользователем.JavaScript Prompt скачать в браузере

Что я имею сейчас: Клиент

export function downloadTemplateAction(questionnaire) { 
    return dispatch => { 
    dispatch(downloadTemplateRequestAction(questionnaire)); 

    return request 
     .get(downloadGETUrl) 
     .end((err, res) => { 
     if (err) { 
      console.log("Download ERROR", err) 
      dispatch(downloadTemplateFailureAction(err, questionnaire)); 
     } else { 
      console.log("Download Success", res.body) 
      dispatch(downloadTemplateSuccessAction(res.body, questionnaire)); 
     } 
     }); 
    } 
} 

Сервер:

export function downloadTemplateDocument(req, res){ 
    res.download('template/Example.docx'); 
    res.end(); 
} 

Im стоящие две проблемы:

Первый: При попытке загрузить файл с помощью функции Клиента, орган ответа имеет нулевой, но успех и ничего больше не происходит.

Second: При обращении в get API через браузер localhost: 3002/api/download загрузка работает, но полученный файл пуст. Там должен быть текст.

Что я здесь делаю неправильно?

+0

Если ваша функция downloadTemplateDocument ничего не возвращает? –

ответ

0

Браузер не может запросить загрузку, потому что ваш запрос отправляется через XMLHttpRequest. Физический доступ к файлу необходим для того, чтобы браузер знал о любой загрузке.

Вы можете использовать download attribute, чтобы сообщить браузеру, чтобы скачать связанный ресурс.

original answer

 Смежные вопросы

  • Нет связанных вопросов^_^