Я хотел бы создать скрипт Tempermonkey, который бы загружал файл на сайт, не утруждая пользователя сохранением его на диске. Таким образом, файл будет храниться в переменной, которую скрипт сможет использовать для загрузки этого файла на мой удаленный сервер.
Можно ли сделать в браузере javascript?

Но зачем вообще проходить через машину пользователя? Вы можете просто получить ссылку и скачать прямо с вашего сервера
@aviya.developer - хороший момент, зачем использовать чужой браузер для получения данных с чужого сайта
Может потребоваться, чтобы пользователь вошел в систему, чтобы загрузить файл.
@NickSlash, ты прав. Файл должен быть загружен под аутентифицированным пользователем, когда он выполняет действие.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Одним из вариантов может быть загрузка файла в виде большого двоичного объекта с помощью fetch:
async function upload() {
const res = await fetch('https://example.com/download-endpoint')
const blob = await res.blob()
fetch('https://example.com/upload-endpoint', {
method: 'POST',
headers: {
'Content-Type': blob.type
},
body: blob
})
}
это довольно простой, прямой ответ. Легко понять. Спасибо
да, это можно сделать с помощью скрипта Grease/tampermonkey