В моем приложении пользователи могут загружать файл в виде потока из бэкэнда, который является приложением с весенней загрузкой, вот код бэкенда:
@RequestMapping(value = "/download", method = RequestMethod.GET)
public StreamingResponseBody download() throws IOException {
final InputStream fecFile = new FileInputStream(new File("C:\\file.zip"));;
return (os) - > {
readAndWrite(fecFile, os);
};
}
private void readAndWrite(final InputStream is, OutputStream os) throws IOException {
byte[] data = new byte[2048];
int read = 0;
while ((read = is.read(data)) >= 0) {
os.write(data, 0, read);
}
os.flush();
}
Внутри углового я использую следующее для загрузки файла:
window.location.href = "http://localhost:8080/download"
Какая работа в порядке, но я добавил аутентификацию на основе токенов доступа, и я не могу добавить токен в window.location.href, есть ли способ сделать это в angular, я попытался использовать HttpModule но он не загружает файл (он не показывает никакого ответа или ошибки, даже если мой контроллер был вызван), так есть ли способ добиться этого, возможно, с помощью jquery или другого libreary?