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
-~----------~----~----~----~------~----~------~--~---

Reply via email to