java - Store and retrieve word documents with MySQL -


i need store , retrieve ms word documents mysql 5.1 servlets. i've code upload file, don't know can feed table. i've used blob field i've insert .doc files.

here's code snippet upload files:

protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {     response.setcontenttype("text/html;charset=utf-8");     printwriter out = response.getwriter();     try {         // access file uploaded client         part p1 = request.getpart("file");         string type=p1.getcontenttype();         string name=p1.getname();         long size = p1.getsize();         inputstream = p1.getinputstream();         //fileinputstream fis = is.          // read filename sent part         part p2  = request.getpart("name");         scanner s = new scanner(p2.getinputstream());         string filename = s.nextline();    // read filename stream          // filename use on server         string outputfile = this.getservletcontext().getrealpath(filename);  // path on server         fileoutputstream os = new fileoutputstream (outputfile);          // write bytes taken uploaded file target file         int ch = is.read();         while (ch != -1) {              os.write(ch);              ch = is.read();         }         os.close();         out.println("<h3>file : '" + name + "' type : '" + type + "' "                 + "of size : " + ((double) size/1024) + "kb uploaded successfully!</h3>");     }     catch(exception ex) {        out.println("exception -->" + ex.getmessage());     }     {         out.close();     } } 

here, i've used servlets 3.0 feature uploading file... table schema :

resources   - userid [varchar(15)]   - document [mediumblob] 

could me how can store document table , though blob type representing binary data, how can retrieve word document (*.doc)?

a partial answer on storing word documents in files:
don't need additional column save file name document's record id can serve file name.

when saving new document, in database transaction can undo process when goes wrong.

in pseudo code, this:

begin transaction;  try {     save new record document;     save word document in predefined directory, using record's id filename; } catch (exception e) {     rollback transaction;     throw e; // rethrow exception }  commit transaction; 

the code above assumes exception thrown when error occurs.


Comments

Popular posts from this blog

c++ - Convert big endian to little endian when reading from a binary file -

C#: Application without a window or taskbar item (background app) that can still use Console.WriteLine() -

unicode - Are email addresses allowed to contain non-alphanumeric characters? -