Я пытаюсь загрузить большие файлы (3 гигабайта) с помощью почтового запроса в свой бэкэнд. Почтовый запрос сделан, чтобы скрыть файловую систему от веб-очистки. Похоже, что часть загрузки первоначально загружается в память, потому что файл изначально не начинает загрузку, но у меня набегает скорость памяти, затем через 30 секунд начинается загрузка и немного снижается использование памяти. Вот код, который я использую.
fetch("http://localhost:5000/api/send", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({ "root": root, "path": path, "name": name })
})
.then(response => response.blob())
.then(blob => {
var url = window.URL.createObjectURL(blob)
var a = document.createElement("a")
a.href = url
a.download = name
document.body.appendChild(a)
a.click()
a.remove()
})
Есть ли способ реализовать это без снижения производительности или производительности? Загрузка файла в виде запроса GET и использование чего-то вроде window.location.href = url
не вызывает проблем, но я бы предпочел не использовать это, и у меня возникают трудности при указании имен файлов с символами, такими как "&" в параметре URL.
Любые идеи приветствуются!