Where is the images directory that should i create ?
Out side of the webapp in the tomcat or in the webapps? like this: D:\tomcat_5.5.25\webapps\images And the lift how to know and find the images folder in the webapps of the tomcat, not the demo/src/main/webapp/images . Thanks very much! Cheers, Neil On Nov 15, 11:10 pm, "Neil.Lv" <[email protected]> wrote: > It try to deploy the war to the tomcat5.5.25, and the path is > different. > > Use LiftRules.getResource("/images/") to get this information: > > In the dev box: > --> Path:Full(file:/G:/project/demo/src/main/webapp/images/ > > In the tomcat: > --> Path:Full(jndi:/localhost/demo-1.0/images/ > > The war of the demo path: D:\tomcat_5.5.25\webapps\demo-1.0 > > So that how can i resolve this problem ? > > Cheers, > Neil > > On Nov 15, 9:57 pm, "Neil.Lv" <[email protected]> wrote: > > > Tim, > > > I'm not clear that how to do use the caching proxy and maps a URL to > > the dispatcher. > > > I didn't find the archive about the SoftReferenceCache. > > > Is there some exmaple that descript how to use is ~? > > > :) > > > Thanks very much! > > > Cheers, > > Neil > > > On Nov 15, 6:33 pm, Timothy Perrett <[email protected]> wrote: > > > > Neil, > > > > If you want to save the byte array, save it into the database, then just > > > write a caching proxy that maps a URL to the dispatcher. That is, use > > > SoftReferenceCache to cache the database read so that the next time the > > > image is requested there is no database hit. > > > > This has been discussed a fair few times on the list if i remember > > > rightly, so best off searching the archives if your not sure where to > > > start. > > > > Cheers, Tim > > > > On 15 Nov 2009, at 04:16, Neil.Lv wrote: > > > > > I want to save the images to a directory, because this images will > > > > be used in the flash params. > > > > > This file path will be used in the javascript code . > > > > ### > > > > var imag=new Array(); > > > > imag[3]="/images/01.jpg"; > > > > ### > > > > > Cheers, > > > > Neil > > > > > On Nov 15, 12:05 pm, "Neil.Lv" <[email protected]> wrote: > > > >> Hi all, > > > > >> Thanks for your tips, and I have some silly question about this. > > > > >> 1:) a directory that's not part of the app's exploded WAR file > > > > >> The direcotry tree like this, and Where is i can create a well > > > >> defined directory > > > >> that's not part of the app's exploded WAR file ? I'm not > > > >> familiar > > > >> with this. > > > > >> ### > > > >> demo > > > >> --src > > > >> --main > > > >> --resources > > > >> --i18n > > > >> --props > > > >> --scala > > > >> --webapp > > > >> --test > > > >> --target > > > >> ### > > > > >> 2:) If I store images to the RDBMS, and how can it be shown in the > > > >> webpage ? > > > >> ### > > > >> FileParamHolder(_, mime, name, data) > > > >> .... > > > >> item.receipt(data).receiptMime(mime) // ( Array[Byte] that saved > > > >> into database ) > > > >> ### > > > > >> :) > > > > >> Thanks very much ! > > > > >> Cheers, > > > >> Neil > > > > >> On Nov 15, 5:43 am, David Pollak <[email protected]> > > > >> wrote: > > > > >>> On Sat, Nov 14, 2009 at 10:25 AM, Neil.Lv <[email protected]> wrote: > > > > >>>> Tim, > > > > >>>> haha, yeah. > > > > >>>> I use this code to get the images folder(the full path) of the app. > > > > >>>> LiftRules.getResource("/images/").open_!.toString.substring(6) > > > >>>> (The code is so redundant !) > > > >>>> -> G:\project\demo\src\main\webapp\images\ > > > > >>> You cannot rely on being able to write to a directory in an > > > >>> application. > > > >>> This is dependent on how the specific web app container handles > > > >>> things, but > > > >>> I would strongly suggest you write images to a directory that's not > > > >>> part of > > > >>> the app's exploded WAR file. And "strongly" is a very weak > > > >>> description of > > > >>> how forceful I'm being about this. This kind of code may change > > > >>> behaviour > > > >>> between your dev box and production, between versions of your app > > > >>> container. > > > > >>> If you want to store images to serve, either use a well defined > > > >>> directory > > > >>> outside your WAR file or put stuff in your RDBMS or put stuff up on > > > >>> Amazon > > > >>> (like Twitter does with images). Amazon has much better > > > >>> infrastructure for > > > >>> dealing with serving static content than just about anyone else. > > > > >>>> :) > > > > >>>> Thank you very much ! > > > > >>>> Cheers, > > > >>>> Neil > > > > >>>> On Nov 15, 1:50 am, Timothy Perrett <[email protected]> wrote: > > > >>>>> Hmm, I guess you must be new to the JVM - you cant write a file > > > >>>>> inside a > > > >>>> WAR file; it does not work like that. > > > > >>>>> You'll need to write to a fully qualified path (as per my example). > > > > >>>>> Cheers, tim > > > > >>>>> On 14 Nov 2009, at 17:34, Neil.Lv wrote: > > > > >>>>>> It show this error message: > > > > >>>>>> ERROR - java.io.FileNotFoundException: \images\003.jpg > > > > >>>>>> ######### this is the code > > > > >>>>>> val receiptOk = fileHolder match { > > > >>>>>> case Full(FileParamHolder(_, null, _, _)) => true > > > >>>>>> case Full(FileParamHolder(_, mime, name, data)) > > > >>>>>> if mime.startsWith("image/") => { > > > >>>>>> var buff = new java.io.BufferedInputStream(new > > > >>>>>> ByteArrayInputStream > > > >>>>>> (data)) > > > >>>>>> try { > > > >>>>>> var fos = new java.io.FileOutputStream(new File("/images/" + > > > >>>>>> name)) > > > >>>>>> var in = 0 > > > >>>>>> do { > > > >>>>>> in = buff.read() > > > >>>>>> if (in != -1){ > > > >>>>>> fos.write(in) > > > >>>>>> } > > > >>>>>> } while((in != -1)) > > > >>>>>> fos = null > > > >>>>>> in = 0 > > > >>>>>> } catch { > > > >>>>>> case e => Log.error(e) > > > >>>>>> } finally { > > > >>>>>> buff.close() > > > >>>>>> } > > > >>>>>> buff = null > > > >>>>>> true > > > >>>>>> } > > > >>>>>> case Full(_) => { > > > >>>>>> S.error(S.??("invalid.receipt.attachment")) > > > >>>>>> false > > > >>>>>> } > > > >>>>>> case _ => true > > > >>>>>> } > > > > >>>>>> ######### > > > > >>>>>> Maybe this code is wrong ? > > > > >>>>>> new File("/images/" + name) > > > > >>>>>> I want to save it in the main\webapp\images\ folder. > > > >>>>>> -> main\webapp\images\ 003.jpg > > > > >>>>>> :) > > > > >>>>>> Cheers, > > > >>>>>> Neil > > > > >>>>>> On Nov 15, 12:23 am, Timothy Perrett <[email protected]> > > > >>>>>> wrote: > > > >>>>>>> Neil, > > > > >>>>>>> Try something like: > > > > >>>>>>> var buff = new java.io.BufferedInputStream(input) > > > >>>>>>> try { > > > >>>>>>> var fos = new java.io.FileOutputStream(new File("/some/root/ > > > >>>>>>> filepath/" + image_hash_filename)) > > > >>>>>>> var in = 0 > > > >>>>>>> do { > > > >>>>>>> in = buff.read() > > > >>>>>>> if (in != -1){ > > > >>>>>>> fos.write(in) > > > >>>>>>> } > > > >>>>>>> } while((in != -1)) > > > >>>>>>> fos = null > > > >>>>>>> in = 0} catch { > > > > >>>>>>> case e => Log.error(e) > > > > >>>>>>> } finally { > > > >>>>>>> buff.close() > > > >>>>>>> } > > > >>>>>>> buff = null > > > >>>>>>> } > > > > >>>>>>> In my case, I had the data as an input stream - manipulate this > > > >>>>>>> code > > > >>>>>>> to take it however you need. > > > > >>>>>>> Cheers, Tim > > > > >>>>>>> On Nov 14, 7:55 am, "Neil.Lv" <[email protected]> wrote: > > > > >>>>>>>> Here is some code , but it's wrong! > > > > >>>>>>>> --> java.io.FileNotFoundException: \images\1.jpeg > > > > >>>>>>>> if mime.startsWith("image/") => { > > > >>>>>>>> try{ > > > >>>>>>>> var file: File = new File("/images/1.jpeg"); > > > >>>>>>>> var fos:FileOutputStream = new FileOutputStream(file); > > > >>>>>>>> fos.write(data) > > > >>>>>>>> } catch { > > > >>>>>>>> case e => println("exception: " + e) > > > >>>>>>>> } > > > >>>>>>>> e.receipt(data).receiptMime(mime) > > > >>>>>>>> true > > > >>>>>>>> } > > > > >>>>>>>> I don't know how to write the code in the try catch statement. > > > > >>>>>>>> Does anyone can help me ?~ > > > > >>>>>>>> Thanks very much ! > > > > >>>>>>>> Cheers, > > > >>>>>>>> Neil > > > > >>>>>>>> On Nov 14, 1:58 pm, "Neil.Lv" <[email protected]> wrote: > > > > >>>>>>>>> Hi all, > > > > >>>>>>>>> How to save the uploaded image into the folder via > > > >>>>>>>>> fileUpload in > > > >>>>>>>>> Lift? > > > > >>>>>>>>> I don't want to save it in the database, the example code in > > > >>>>>>>>> the > > > >>>>>>>>> Pocketchangeapp > > > > >>>>>>>>> ### > > > >>>>>>>>> val receiptOk = fileHolder match { > > > >>>>>>>>> case Full(FileParamHolder(_, null, _, _)) => true > > > >>>>>>>>> case Full(FileParamHolder(_, mime, _, data)) > > > >>>>>>>>> if mime.startsWith("image/") => { > > > >>>>>>>>> // How can i save the data into a image in the folder. > > > >>>>>>>>> e.receipt(data).receiptMime(mime) > > > >>>>>>>>> true > > > >>>>>>>>> } > > > >>>>>>>>> case Full(_) => { > > > >>>>>>>>> S.error("Invalid receipt attachment") > > > >>>>>>>>> false > > > >>>>>>>>> } > > > >>>>>>>>> case _ => true > > > >>>>>>>>> } > > > >>>>>>>>> ### > > > > >>>>>>>>> To save the image into the webapp\images folder, and it's > > > >>>>>>>>> shown > > > >>>>>>>>> just use this link: > > > >>>>>>>>> /images/img1.jpg > > > > >>>>>>>>> Thanks for any suggestion! > > > > >>>>>>>>> Cheers, > > > >>>>>>>>> Neil > > > > >>> -- > > > >>> Lift, the simply functional web frameworkhttp://liftweb.net > > > >>> Beginning Scalahttp://www.apress.com/book/view/1430219890 > > > >>> Follow me:http://twitter.com/dpp > > > >>> Surf the harmonics --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---
