Cara menyimpan file pdf di database mysql menggunakan java

Saya sangat menyukai tutorial ini, saya juga memeriksa versi JSP-nya, dan saya telah membuat blog tetapi macet dengan unggahan gambar selama lebih dari setahun sekarang dan akhirnya mendapatkan solusinya, tetapi saya masih membutuhkan tutorial untuk mengunggah file gambar multile

Secara umum, isi file disimpan di bawah tipe data Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) di database MySQL

JDBC menyediakan dukungan untuk tipe data Clob, untuk menyimpan konten file ke dalam tabel di database

Metode setCharacterStream() dari antarmuka PreparedStatement menerima bilangan bulat yang mewakili indeks parameter dan, objek Pembaca sebagai parameter

Dan atur konten dari objek (file) pembaca yang diberikan sebagai nilai ke parameter (tempat penampung) dalam indeks yang ditentukan

Setiap kali Anda perlu mengirim nilai teks yang sangat besar, Anda dapat menggunakan metode ini

Menyimpan file teks menggunakan JDBC

Jika Anda perlu menyimpan file dalam database menggunakan program JDBC, buat tabel dengan tipe data Clob (TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT) seperti yang ditunjukkan di bawah ini

CREATE TABLE Articles(Name VARCHAR(255), Article LONGTEXT);

Sekarang, dengan menggunakan JDBC, hubungkan ke database dan siapkan PreparedStatement untuk memasukkan nilai ke dalam tabel yang dibuat di atas

String query = "INSERT INTO Tutorial(Name, Article) VALUES (?,?)";PreparedStatement pstmt = con.prepareStatement(query);
_

Setel nilai ke placeholder menggunakan metode setter dari antarmuka PreparedStatement dan untuk nilai setel tipe data Clob menggunakan metode setCharacterStream()

Contoh

Berikut adalah contoh yang mendemonstrasikan cara memasukkan file ke database MySQL menggunakan program JDBC. Di sini kita telah membuat tabel dengan tipe data Clob, memasukkan nilai ke dalamnya

import java.io.FileReader;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class InsertingFileToDatabase {
   public static void main(String args[]) throws Exception {
      //Registering the Driver
      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      //Getting the connection
      String mysqlUrl = "jdbc:mysql://localhost/sampleDB";
      Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
      System.out.println("Connection established......");
      //Inserting values
      String query = "INSERT INTO Articles(Name, Article) VALUES (?, ?)";
      PreparedStatement pstmt = con.prepareStatement(query);
      pstmt.setString(1, "article1");
      FileReader reader = new FileReader("E:\data\article1.txt");
      pstmt.setCharacterStream(2, reader);
      pstmt.execute();
      pstmt.setString(1, "article2");
      reader = new FileReader("E:\data\article2.txt");
      pstmt.setCharacterStream(2, reader);
      pstmt.execute();
      pstmt.setString(1, "article3");
      reader = new FileReader("E:\data\article3.txt");
      pstmt.setCharacterStream(2, reader);
      pstmt.execute();
      System.out.println("Data inserted......");
   }
}

Keluaran

Connection established......
Data inserted......

Menggunakan meja kerja MySQL, Anda dapat mengekspor konten tabel ke berbagai file seperti file html,. file csv file teks dll. Jika Anda mengekspor konten tabel setelah memasukkan data ke file HTML, hasilnya akan terlihat seperti

Dalam tutorial ini, mari kita lihat cara mengunggah dan menyimpan file PDF di bidang BLOB di database MySql menggunakan servlet. Dalam contoh ini, mari kita merancang sebuah aplikasi untuk menyimpan e-book dalam sebuah tabel di database mySql

Guci tambahan yang digunakan dalam contoh ini

mysql-5. 1. 10. stoples
javax. servlet-api-3. 1. 0. stoples

Struktur Proyek

Cara menyimpan file pdf di database mysql menggunakan java

Mari kita lihat langkah-langkahnya

Langkah 1. Buat tabel MySql bernama buku yang memiliki dua bidang berikut

varcharId buku(10)
bookContent MEDIUMBLOB

DDL untuk membuat tabel

BUAT TABLE Book (BookId varchar (10) bukan null , BookContent MEDIUMBLOB, Primary key (BookId))

Langkah 2. Desain formulir html (fileUpload. jsp) untuk mengunggah file. fileUpload jsp berisi dua field input bookId dan file. Jenis enkripsi diatur ke multipart/form-data. Kode JSP diberikan di bawah ini.

unggah file. jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <title>File Upload</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <form method="POST" action="FileUpload" enctype="multipart/form-data" >
<table>
        <tr><td>Book Id</td>
        <td><input type="text" name="bookId" /></td>
        <tr><td>Book Pdf</td>
            <td><input type="file" name="file" id="file" /> </td>
        </tr>
        <tr>
        <td colspan="2">
            <input type="submit" value="Upload" name="upload" id="upload" /> </td>
        </tr>
   </table>
        </form>
    </body>
</html>
_

Langkah 3.  Tulis kode servlet untuk menerima file PDF dan menyimpan konten sebagai aliran biner di bidang blob. Servlet di bawah ini dianotasi dengan MultipartConfig yang disertakan dengan servlet 3. 0. Anotasi MultipartConfig menunjukkan bahwa servlet menerima permintaan tipe multipart/form-data. getPart digunakan untuk mengambil konten file, tipe konten, ukuran, dll. Kode servlet juga menyertakan validasi sederhana untuk memeriksa apakah file tersebut valid pdf dan ukuran file berada dalam batas. Kode diberikan di bawah ini.

Unggah File Pdf. Jawa

package net.javaonline.servlet.fileupload;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;

@WebServlet("/FileUpload")
@MultipartConfig
public class FileUploadPdf extends HttpServlet {

	/**
	 *
	 */
	private static final long serialVersionUID = 1L;

	protected void doPost(HttpServletRequest request,  HttpServletResponse response)       throws ServletException, IOException {
	    response.setContentType("text/html;charset=UTF-8");

	    final Part filePart = request.getPart("file");
	    String bookId = request.getParameter("bookId");

	    InputStream pdfFileBytes = null;
	    final PrintWriter writer = response.getWriter();

	    try {

	      if (!filePart.getContentType().equals("application/pdf"))
     	    {
		    		   writer.println("<br/> Invalid File");
		    		   return;
     	    }

     	   else if (filePart.getSize()>1048576 ) { //2mb
     		   {
     		  writer.println("<br/> File size too big");
     		  return;
     		   }
     	   }

	        pdfFileBytes = filePart.getInputStream();  // to get the body of the request as binary data

	        final byte[] bytes = new byte[pdfFileBytes.available()];
	         pdfFileBytes.read(bytes);  //Storing the binary data in bytes array.

	        Connection  con=null;
	         Statement stmt=null;

		       try {
		    	     Class.forName("com.mysql.jdbc.Driver");
		    	     con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","*******");
		          } catch (Exception e) {
		    	  		System.out.println(e);
		                System.exit(0);
		                      }

		      try {
		    	  stmt = con.createStatement();
		    	  //to create table with blob field (One time only)
		    	  stmt.executeUpdate("CREATE TABLE Book (BookId varchar (10) not null , BookContent MEDIUMBLOB, Primary key (BookId))");

		      } catch (Exception e) {
		        		System.out.println("Tables already created, skipping table creation process");
		          }

				int success=0;
		        PreparedStatement pstmt = con.prepareStatement("INSERT INTO Book VALUES(?,?)");
		        pstmt.setString(1, bookId);
		        pstmt.setBytes(2,bytes);    //Storing binary data in blob field.
		        success = pstmt.executeUpdate();
		        if(success>=1)  System.out.println("Book Stored");
		         con.close(); 

		         writer.println("<br/> Book Successfully Stored");

	    } catch (FileNotFoundException fnf) {
	        writer.println("You  did not specify a file to upload");
	        writer.println("<br/> ERROR: " + fnf.getMessage());

	    } catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {

	        if (pdfFileBytes != null) {
	        	pdfFileBytes.close();
	        }
	        if (writer != null) {
	            writer.close();
	        }
	    }

	}

} 

Menjalankan contoh di atas

http. // localhost. 8080/TestWeb/fileUpload. jsp

Cara menyimpan file pdf di database mysql menggunakan java

Ketik Id Buku dan pilih file Pdf dan unggah

Cara menyimpan file pdf di database mysql menggunakan java

Cara menyimpan file pdf di database mysql menggunakan java

Cara menyimpan file pdf di database mysql menggunakan java

Cara menyimpan file pdf di database mysql menggunakan java

Referensi. Unggah File

Download aplikasi di atas di fileupload. perang

 

 

Pos terkait

  • Membaca file PDF (data biner) yang disimpan di database mysql menggunakan servlet dan ditampilkan di browser

    Dalam tutorial saya sebelumnya, kita telah melihat bagaimana mengunggah dan menyimpan file PDF…

  • Kode Java Servlet untuk mengonversi Html ke PDF menggunakan contoh iTextRenderer

    Mengonversi Html ke PDF diperlukan di banyak aplikasi. Dalam tutorial ini, mari kita lihat…

  • Unduh File menggunakan Java Servlet - server ke klien dengan contoh

    Kode berikut mengilustrasikan cara mengunduh file dari server ke klien. Dia…

  • Kode Java untuk Dekompresi (Unzip) file

    Sudah  kita telah melihat, cara membuat file Terkompresi(Zip) menggunakan kode java. Dalam contoh itu…

  • Kode Sampel Java untuk terhubung ke Database DB2 menggunakan Driver JDBC

    Kode contoh berikut adalah untuk menghubungkan dan mengakses database DB2. Itu memuat DB2 ...

  • Unggah file di Struts 1. 2 dengan kode Contoh

    Tutorial berikut menjelaskan teknik upload file ke server menggunakan Struts 1. 2. …

Bagaimana cara menyimpan file PDF di database MySQL menggunakan Java?

File OutputStream = FileOutputStream baru(File baru("D. // penghitung waktu. pdf")); Dokumen dokumen = Dokumen baru(); PdfWriter. getInstance(dokumen, berkas); . com")); sel. setColspan(3);

Bisakah kita menyimpan PDF di database MySQL?

Jika Anda hanya ingin menyimpan file PDF yang diunggah di server Anda, biasanya menyalin file ke direktori tertentu dengan nama file yang unik dan cukup menyimpan path lengkap dari . .

Bagaimana cara menyimpan file di database MySQL menggunakan Java?

Menyimpan file teks menggunakan JDBC. CREATE TABLE Articles(Name VARCHAR(255), Article LONGTEXT); Sekarang, gunakan JDBC sambungkan ke database dan siapkan PreparedStatement untuk memasukkan nilai ke atas . String query = "INSERT INTO Tutorial(Name, Article) VALUES (?,?)";PreparedStatement pstmt = con.

Bisakah Anda menyimpan file PDF dalam database?

File PDF adalah data tidak terstruktur atau semi-terstruktur, yang artinya file tersebut tidak memiliki skema tetap. Ini berarti menyimpan konten file PDF dalam database SQL tradisional dapat menjadi tantangan. Namun, database NoSQL ideal untuk menyimpan konten file PDF karena tidak memerlukan skema yang telah ditentukan sebelumnya .