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.