在 jsp 页面中,我上传了一个图像文件,并将该 Jsp 页面转发到一个 Servlet,我想在 Servlet 中检索该图像并将该图像添加到数据库中......。任何人都可以解释如何在 servlet 中检索图像和将该图像添加到数据库?例如:我们可以使用 request.getParameter("string"); 检索字符串;同样,是否有任何预定义的方法来检索图像?例如:prepareStatement.setInt(colomnindex); 同样,是否有任何预定义的方法可以将图像添加到数据库?
问问题
1266 次
2 回答
0
首先,使用 JSP 选择要上传的文件,您至少需要一个 HTML 元素来显示文件浏览字段。
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit">
</form>
在 servlet 中检索上传的文件,
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
// <input type="file">
System.out.println("Field name: " + item.getFieldName());
System.out.println("File name: " + item.getName());
System.out.println("File size: " + item.getSize());
System.out.println("File type: " + item.getContentType());
} else {
// <input type="text|submit|hidden|password|button">, <select>, <textarea>,<button>
System.out.println("Field name: " + item.getFieldName());
System.out.println("Field value: " + item.getString());
}
}
您只需要从 FileItem 对象中获取 InputStream 并将其写入任何 OutputStream。
InputStream content = item.getInputStream();
OR
item.write(new File("/uploads/filename.ext"));
于 2013-01-17T09:56:03.150 回答
0
像这样的东西
HTML / JSP
< 输入类型="文件" 名称="照片" />
塞尔维特
String fotoURL = req.getParameter("foto");
System.out.println(fotoURL);
URL urlFoto = null;
urlFoto = getClass().getClassLoader().getResource(fotoURL);
System.out.println(urlFoto);
BufferedImage foto = ImageIO.read(urlFoto);
于 2013-01-17T09:13:58.490 回答