Hvordan laste opp BLOB filer til en database Servlet tråden

Hvordan laste opp BLOB filer til en database Servlet tråden


Laste opp filer via et HTML-skjema er en av de viktigste måtene som et nettsted kan være interaktiv. Bruke Java programmeringsspråk, kan en fil lastes opp fra en brukers datamaskin og lagret i en database for fremtidig bruk. Fremgangsmåten omfatter et binært stort objekt (BLOB) -type feltet i databasen. Bytes fra filen konverteres fra sin opprinnelige form til en BLOB type, så er lagt inn i databasen som binære data.

Bruksanvisning

Sett opp Environment

1 Åpne Eclipse IDE.

2 Velg "File", "New" og "Other".

3 Velg "Web" ikonet. Når det utvides, velger du "Dynamic Web Project" og trykk "Next".

4 Skriv "blobexample" inn i "Prosjektnavn:" feltet.

5 Finn Package Explorer visningen i venstre sidebar.

6 Høyreklikk på filen som heter "src". Velg "New" og deretter "pakke".

7 Skriv "blob" inn i "Name:" ". Finish" -feltet, og trykk

Opprett database tabell

8 Bruk nettleseren til å navigere til phpmyadmin nettsted som er konfigurert over MySQL server.

9 Etter signering, klikk på fanen som sier "SQL" eller "Execute SQL."

10 Skriv inn følgende kommando i SQL boksen. Dette vil skape tabellen benyttes for lagring av binære data.

CREATE TABLE 'FILE_TABLE' (

'Id' bigint (20) NOT NULL AUTO_INCREMENT,

'FILE_DATA' blob,

PRIMARY KEY ( 'id')

) MOTOR = InnoDB DEFAULT CHARSET = latin1;

11 Kontroller at tabellen er opprettet ved å bekrefte at "FILE_TABLE" har blitt lagt til listen over tabeller i høyre kolonne.

Lag filer

12 Finn mappen ikonet som heter "WebContent." Høyreklikk på den og velg "New" og "Other".

1. 3 Finn mappen i pop-up vindu som heter "Web". Velg "JSP" og trykk "Next".

14 Skriv "upload.jsp" inn i "File name:" feltet.

15 Gjenta trinnene over for å skape en annen fil med navnet "page.jsp."

Rediger opplastingssiden

16 Open "page.jsp" i et nytt redigeringsvinduet. Dette gjøres ved å dobbeltklikke på den i pakken Explorer-vinduet.

17 Klikk på koden som finnes i det nyåpnede vinduet. Trykk "Ctrl" + "A" eller "Home" + "A" for å velge alle. Slett alt som er valgt.

18 Skriv inn følgende kode inn i den nå blank "page.jsp":

<% @ Side language = "java"%>

<Html>

<Head>

<Title> opplastingsskjemaet </ title>

</ Head>

<Body>

<Form enctype = "multipart / skjema-data" action = "upload.jsp" method = post>

<Input name = "file" type = "file">

<Input type = "submit" value = "Send fil">

</ Form>

</ Body>

</ Html>

19 Lagre dokumentet ved å velge "Fil" og "Lagre".

Rediger resultatside

20 Open "upload.jsp" i et nytt redigeringsvinduet.

21 Slett innholdet i "upload.jsp."

22 Skriv inn følgende kode inn i den nå blank "upload.jsp":

<% @ Side import =

"java.io., Java.sql., Java.util., Java.text.%>

<Html>

<%

int num = 0;

String CTYPE = request.getContentType ();

if ((CTYPE! = null) && (ctype.indexOf ( "multipart / skjema-data")> = 0))

{

Datainputstream i = new Datainputstream (request.getInputStream ());

int lengthofdata = request.getContentLength ();

byte byte [] = new byte [lengthofdata];

int Readbytes = 0;

int totalReadbytes = 0;

while (totalReadbytes <lengthofdata)

{

byteRead = in.read (bytes, totalReadbytes, lengthofdata);

totalReadbytes + = Readbytes;

}

String thefile = new String (bytes);

}

Connection con = null;

PreparedStatement pstate = null;

String linje = null;

String verdi = null;

/ * **** Start Database Configuration ** /

String url = "jdbc: mysql: // localhost: 3306 /";

String databasenavn = "file_upload";

String driver = "com.mysql.jdbc.Driver";

String uname = "root"; // Erstatte med database brukernavn

String pword = "root"; // Erstatte med databasepassord

/ * **** End Database Configuration ** /

prøve{

Stringbuilder content = new Stringbuilder ();

BufferedReader input = new BufferedReader (new Filereader (savefile));

while ((linje = input.readLine ())! = null) {

content.append (linje);

}

verdi = contents.toString ();

System.out.println ( "Verdi:" + verdi);

Class.forName ( «com.mysql.jdbc.Driver");

con = DriverManager.getConnection (url + databasenavn, uname, pword);

String QueryString = "INSERT INTO FILE_TABLE satt FILE_DATA = '" + verdi + ";";

pstate = con.prepareStatement (QueryString);

num = pstatement.executeUpdate ();

if (val> 0)

{

%> File er lastet opp og settes <%

}

}

catch (Exception e)

{}

}

%>

</ Html>

23 Lagre dokumentet ved å velge "Fil" og "Lagre".

Lag en Tomcat-server

24 Velg "File", "New" og "Other".

25 Velg "Server" -ikonet. Når det utvides, velger du "Server" og trykk "Next".

26 Enter "Blob2dbServer" inn i "Server navn:" feltet, og sikre at serveren miljøet er Tomcat 6.0. Trykk "Finish".

Legg Prosjekt og Test

27 Finn "Servers" -fanen nederst Eclipse IDE vinduet.

28 Klikk på "Servers" -fanen, og kontroller at "Blob2dbServer" er oppført. Sin nåværende tilstand bør "Stoppet".

29 Høyreklikk på "Blob2dbServer," og klikk "Legg til / fjern prosjektet."

30 Velg "blobexample" fra alternativene. Klikk "Legg til" og "Finish".

31 Høyreklikk på "Blob2dbServer," og klikk "Start". Bruk nettleseren til å navigere til følgende adresse:

http: // localhost: 8080 / BLOBEXAMPLE / upload.jsp

Last opp en fil og kontrollere om eventuelle feil blir hevet.

Hint

  • Sørg for at hver linje med Java-kode avsluttes med et semikolon.
  • Sørg for at koden er fri for logiske, programmatiske og skrivefeil.
  • For mer hjelp, søke hjelp hos en profesjonell programmerer.
  • Hvis feil oppstår på noe tidspunkt under denne prosessen, sikre at Tomcat, phpmyadmin, MySQL og Eclipse er riktig konfigurert. Flere drivere er nødvendig for sammenhengen mellom Eclipse og MySQL.