Expressjs res.download () не отправляет файл для загрузкиJavascript

Форум по Javascript
Ответить
Anonymous
 Expressjs res.download () не отправляет файл для загрузки

Сообщение Anonymous »

Я пытаюсь загрузить файл из Backend ExpressJS с использованием Axios. Файл имеет размер 1 КБ, но при попытке загружать его каждый раз, я получаю 17 байт -файл, который не открывается.const __dirname = path.resolve();

app.get("/download", function(req, res, next) {

const dirPath = `${__dirname}/images/${req.query.dir}/output`;

let files = fs.readdirSync(dirPath);

res.download(`${dirPath}/${files[0]}`);

res.status(200).send("Download complete");
});
< /code>
и мой код фронта: < /p>
axios({
url: `http://example.com/download?dir=${someDir}`,
method: "GET",
responseType: "blob"
})
.then(res => {
//console.log(res.data);
const href = URL.createObjectURL(res.data);
//console.log(href);

const link = document.createElement("a");
link.href = href;
link.setAttribute("download", output.jpeg);
document.body.appendChild(link);
link.click();

document.body.removeChild(link);
URL.revokeObjectURL(href);
})
.catch(er => console.log(er));
< /code>
Я озадачен, чтобы найти основную причину этого. Помощь в этом ценном

Подробнее здесь: https://stackoverflow.com/questions/795 ... o-download
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»