Ваша проблема в том, что функция encodeURI
для принятия URL действительный для браузера, а не для форматирования содержимого в URL (который является то, что вы» re делать). Строка base64 уже отформатирована таким образом, что она регистрируется как действительная. Чтобы закодировать его как часть URL-адреса, вам необходимо использовать encodeURLComponent
.
В принципе, просто использовать:
var uri ="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQo...";
var res = encodeURIComponent(uri);
document.location.href = 'display.jsp?img='+res;
Для получения дополнительной информации, проверьте: When are you supposed to use escape instead of encodeURI/encodeURIComponent?
это проблема JSP, не проблема JS. – dandavis