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" <anim...@gmail.com> 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 <timo...@getintheloop.eu> 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" <anim...@gmail.com> 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 <feeder.of.the.be...@gmail.com>
> > >> wrote:
>
> > >>> On Sat, Nov 14, 2009 at 10:25 AM, Neil.Lv <anim...@gmail.com> 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 <timo...@getintheloop.eu> 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 <timo...@getintheloop.eu> 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" <anim...@gmail.com> 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" <anim...@gmail.com> 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 liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to