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
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" "//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
Ketik Id Buku dan pilih file Pdf dan unggah
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. …