JSP(JavaServer Pages)是一种用于创建动态Web内容的技术,它允许开发者在HTML页面中嵌入Java代码。预览图片在JSP中通常涉及到以下几个基础概念和技术点:
以下是一个简单的JSP示例,展示如何实现图像上传并在页面上预览:
<!DOCTYPE html>
<html>
<head>
<title>Image Upload and Preview</title>
</head>
<body>
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="image" accept="image/*" onchange="previewImage(this);">
<input type="submit" value="Upload">
</form>
<img id="preview" src="#" alt="Image Preview" style="display:none;">
<script>
function previewImage(input) {
var preview = document.getElementById('preview');
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
preview.src = e.target.result;
preview.style.display = 'block';
}
reader.readAsDataURL(input.files[0]);
}
}
</script>
</body>
</html>
import java.io.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet("/upload")
@MultipartConfig(fileSizeThreshold = 1024 * 1024 * 2, // 2MB
maxFileSize = 1024 * 1024 * 10, // 10MB
maxRequestSize = 1024 * 1024 * 50) // 50MB
public class UploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Part filePart = request.getPart("image");
String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString(); // MSIE fix.
InputStream fileContent = filePart.getInputStream();
// Save the file to a specific directory
String savePath = "path/to/save/" + fileName;
Files.copy(fileContent, new File(savePath).toPath(), StandardCopyOption.REPLACE_EXISTING);
response.sendRedirect("success.jsp");
}
}
<input type="file">
元素正确设置了onchange
事件。@MultipartConfig
注解中的参数,增大文件大小限制。通过以上步骤和代码示例,可以在JSP页面上实现图像的上传和预览功能。
领取专属 10元无门槛券
手把手带您无忧上云