如何将formfield值插入数据库

时间:2019-06-12 05:31:18

标签: java jsp

我正在尝试在数据库中插入以下内容:
图片,
图片名称 价格
但我不知道要从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);
            }

1 个答案:

答案 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