#javascript #image #jsp #upload #resize-image
#javascript #изображение #jsp #загрузка #изменение размера-изображение
Вопрос:
Здесь я загружаю изображение, и в текстовых полях, указывающих новую ширину и высоту, когда я отправляю исходный размер изображения, должен изменяться в соответствии с новой шириной и высотой и сохраняться в той же папке.Но это не работает, как я могу это сделать, кто-нибудь, помогите мне, пожалуйста?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Demo</title>
<script>
function ImageResizer() {
var srcImg = document.getElementById("imgID").value;
var newImg = new Image();
newImg.src = srcImg.attr('src');
var height = newImg.height;
var width = newImg.width;
var newWidth = document.getElementById("widthID").value;
var newHeight = document.getElementById("HeightID").value;
}
</script>
</head>
<body>
<%
out.println("<table>");
out.println("<tr><td><input type='file' id='imgID'></td></tr>");
out.println("<tr><td>Enter new Width:</td><td><input type='text' id='widthID'></td></tr>");
out.println("<tr><td>Enter new Height:</td><td><input type='text' id='HeightID'></td></tr>");
out.println("<tr><td><input type='button' value='Submit' onclick='ImageResizer()'></td></tr>");
out.println("</table>");
%>
</body>
Это моя страница demo.jsp, на которой я загружаю изображение и хочу изменить размер загруженного изображения с новой высотой и шириной.
Ответ №1:
Это потому srcImg
, что содержит значение input
, но не сам ввод. Вы пытаетесь получить доступ к attr
значению, которое всегда будет undefined
. Вместо этого просто используйте
newImg.src = srcImg; // srcImg itself contains the value of input
Если вам нужен ввод, используйте:
var srcImg = document.getElementById("imgID");
Модифицировал вашу функцию js:
function ImageResizer() {
console.log('called');
var srcImg = document.getElementById("imgID").value;
var newImg = new Image();
newImg.src = srcImg;
var height = newImg.height;
var width = newImg.width;
var newWidth = document.getElementById("widthID").value;
var newHeight = document.getElementById("HeightID").value;
console.log(newImg, srcImg, newWidth, newHeight, height, width);
}
Демонстрация: http://jsfiddle.net/lotusgodkk/GCu2D/182 /