我正在尝试在数据库中插入以下内容:
图片,
图片名称
价格
但我不知道要从filesystem
提取数据并传递给数据库
String name = null;
String value = null;
if (ServletFileUpload.isMultipartContent(request)) {
try {
List<FileItem> multiparts = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
HashMap<String, String> hmap = new HashMap<>();
for (FileItem item : multiparts) {
if (!item.isFormField()) {
System.out.println(item.getName());
name = new File(item.getName()).getName();
System.out.print(name);
out.print(name);
item.write(new File("D:/projectdatas" + File.separator + name));
} else {
String fieldName = item.getFieldName();
value = item.getString();
hmap.put(fieldName, value);
out.println(value);
}
}
//File uploaded successfully
out.print("Image successfully uploaded");
request.setAttribute("message", "File Uploaded Successfully");
} catch (Exception ex) {
request.setAttribute("message", "File Upload Failed due to " + ex);
}
答案 0 :(得分:0)
通常,不建议将图像存储到数据库中,因为与服务器上的文件存储相比效率不高。扩展应用程序将面临更多挑战。
最佳方法是将映像存储到您的文件系统中 服务器,然后将图像和其他详细信息的元数据保存到 数据库。这样您就可以始终高效地渲染 映射的详细信息。
Still - if you need to store for small utility purposes then you can
store the IMAGE data in BLOB type, it is supported in most of the
databases.
要了解更多信息,请查看此post。