hi, i've tried with db but is complex, i've do in this way: using the inteceptior of struts and the tag <s:file in jsp
private String saveFile(File file, String savePath, String fileName) { fileName = fileName.replace(' ', '_'); File dirPath = new File(savePath); if (!dirPath.exists()) { dirPath.mkdirs(); } try { //retrieve the file data InputStream stream = new FileInputStream(file); //write the file to the file specified OutputStream bos = new FileOutputStream(savePath + File.separator + fileName); int bytesRead; byte[] buffer = new byte[8192]; while ((bytesRead = stream.read(buffer, 0, 8192)) != -1) { bos.write(buffer, 0, bytesRead); } bos.close(); stream.close(); } catch (Exception e) { return null; } return "img/item/" + fileName; } i simply put in the db the string. works. On Tue, May 19, 2009 at 21:13, Martin Gainty <mgai...@hotmail.com> wrote: > > Struts FileUploadInterceptor offers maximumSize,allowedTypes and > allowedExtensions parameters specifically > > Interceptor parameters: > > > > > > > > > maximumSize (optional) - the maximum size (in bytes) that the interceptor > will allow a file reference to be set > on the action. Note, this is not related to the various properties found in > struts.properties. > Default to approximately 2MB. > > allowedTypes (optional) - a comma separated list of content types (ie: > text/html) that the interceptor will allow > a file reference to be set on the action. If none is specified allow all > types to be uploaded. > > allowedExtensions (optional) - a comma separated list of file extensions (ie: > .html) that the interceptor will allow > a file reference to be set on the action. If none is specified allow all > extensions to be uploaded. > http://struts.apache.org/2.0.14/struts2-core/apidocs/org/apache/struts2/interceptor/FileUploadInterceptor.html > > HTH > Martin Gainty > ______________________________________________ > Jogi és Bizalmassági kinyilatkoztatás/Verzicht und > Vertraulichkeitanmerkung/Note de déni et de confidentialité > Ez az > üzenet bizalmas. Ha nem ön az akinek szánva volt, akkor kérjük, hogy > jelentse azt nekünk vissza. Semmiféle továbbítása vagy másolatának > készítése nem megengedett. Ez az üzenet csak ismeret cserét szolgál és > semmiféle jogi alkalmazhatósága sincs. Mivel az electronikus üzenetek > könnyen megváltoztathatóak, ezért minket semmi felelöség nem terhelhet > ezen üzenet tartalma miatt. > > Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger > sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung > oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich > dem Austausch von Informationen und entfaltet keine rechtliche > Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen > wir keine Haftung fuer den Inhalt uebernehmen. > Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le > destinataire prévu, nous te demandons avec bonté que pour satisfaire informez > l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci > est interdite. Ce message sert à l'information seulement et n'aura pas > n'importe quel effet légalement obligatoire. Étant donné que les email > peuvent facilement être sujets à la manipulation, nous ne pouvons accepter > aucune responsabilité pour le contenu fourni. > > > > >> Subject: RE: upload and store img >> Date: Tue, 19 May 2009 13:11:19 -0400 >> From: david_kawczyn...@merck.com >> To: user@struts.apache.org >> >> Retrieving from DB and outputting to HTTP: >> Every time I've done this it has been without the use of struts. I use >> a >> servlet that looks for e request parameter storing an ID that resolves >> to >> the image in the DB. I lookup the image, set the response type for that >> >> image, then output the bytes that make up that image directly to the >> response. >> Say the servlet is mapped to "/GetImageServlet". You can then use that >> path >> As the SRC of an image as follows: >> <IMG SRC="/GetImageServlet" /> >> >> >> Inserting the image from http request to DB: >> I've done this with mysql and oracle, but am not too familiar with >> postgres. >> >> >> For this to work with fileuploadinterceptor, the POJO must have 3 >> properties: >> public class Example { >> ... >> File upload; >> String uploadFileName; >> String uploadContentType; >> ... >> } >> >> >> I use hibernate to put it in the DB. Here's how I did it with Oracle. >> You can probably modify for this as necessary Postgres. For this to work >> with >> Hibernate, the POJO must have 1 encapsulated property: >> public class Example { >> ... >> Blob attachment; >> ... >> } >> >> >> This is the getter for that property: >> public class Example { >> ... >> /** >> * Returns a {...@link Blob} equivalent of this object's >> * {...@link #upload}. Do not call this directly -- it >> * it intended for Hibernate interaction with Oracle >> ONLY. >> * >> * @return >> * a {...@link Blob} equivalent of this object's >> * {...@link #attachmentByteStream}. >> */ >> public Blob getAttachment() { >> try { >> if(this.attachment != null) { >> return this.attachment; >> } >> else { >> if(this.upload != null) { >> return >> Hibernate.createBlob( >> new >> FileInputStream(upload)); >> } >> else return null; >> } >> } >> catch (IOException ioException) { >> ioException.printStackTrace(); >> return null; >> } >> } >> ... >> } >> >> >> Additionally, there are some other setters/getters Hibernate/Oracle >> requires, >> the base of their name must match the name declared in the hbm.xml file: >> public class Example { >> ... >> /** >> * Sets this item's {...@link #attachment} {...@link Blob}. >> Do not call this >> * directly -- it intended for Hibernate interaction >> with Oracle ONLY. >> * >> * @param attachment >> * the {...@link Blob} to set to this object's >> {...@link #attachment}. >> */ >> public void setAttachment(Blob attachment) { >> this.attachment = attachment; >> } >> >> public InputStream getAttachmentStream() throws >> SQLException { >> return (attachment==null ? null : >> attachment.getBinaryStream()); >> } >> >> public void setAttachmentStream(InputStream >> attachmentStream) >> throws IOException { >> this.attachment = >> Hibernate.createBlob(attachmentStream); >> } >> ... >> } >> >> >> This is the relevant part of the hibernate mapping: >> <hibernate-mapping> >> <class name="com.foo.Example" table="EXAMPLE"> >> <property name="attachment" type="blob"> >> <column name="ATCHMNT_LOB" /> >> </property> >> </class> >> </hibernate-mapping> >> >> >> This is the relevant fragment from the html form submitting to struts: >> <s:form action="save" >> name="requestform" >> method="post" >> enctype="multipart/form-data"> >> <s:file name="siteRequest.upload" >> label="Attachment" /> >> </s:form> >> >> -----Original Message----- >> From: Stefano Tranquillini [mailto:stefano.tranquill...@gmail.com] >> Sent: Tuesday, May 19, 2009 12:29 PM >> To: Struts Users Mailing List >> Subject: UI: upload and store img >> >> Hi all. >> i've to do a UI that permits to store some images, how can i do that? >> i tried to use upload file but is quite complex and doesn't work. >> is better if i put the img inside the db? >> someone of u has experience about that? >> if i put inside the db the img (i use postrgres) how can i display it in >> a jsp? >> >> thanks folks >> >> -- >> Stefano >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> >> Notice: This e-mail message, together with any attachments, contains >> information of Merck & Co., Inc. (One Merck Drive, Whitehouse Station, >> New Jersey, USA 08889), and/or its affiliates (which may be known >> outside the United States as Merck Frosst, Merck Sharp & Dohme or >> MSD and in Japan, as Banyu - direct contact information for affiliates is >> available at http://www.merck.com/contact/contacts.html) that may be >> confidential, proprietary copyrighted and/or legally privileged. It is >> intended solely for the use of the individual or entity named on this >> message. If you are not the intended recipient, and have received this >> message in error, please notify us immediately by reply e-mail and >> then delete it from your system. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> > > _________________________________________________________________ > Hotmail® has a new way to see what's up with your friends. > http://windowslive.com/Tutorial/Hotmail/WhatsNew?ocid=TXT_TAGLM_WL_HM_Tutorial_WhatsNew1_052009 -- Stefano --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org