[Seaside] Serving pictures from the image

saza solutions fzak at sazasolutions.com
Thu Jan 25 20:16:16 UTC 2007


I did the following.
   
  Firstly I initialized the gifs. I could do this because my gifs are fixed, I don´t need dynamic files:
   
  SomeClass>>intializeGifs
 |gifs imagekey newGif|
 gifs:= (FileDirectory on: 'C:\SES\product\squeak 3.8\working\img') fileNamesMatching: '*.gif'.
 gifs do: [:gif |
  imagekey:= ('DES-',(gif copyUpTo: $.)) asSymbol.
  newGif:= (FileStream readOnlyFileNamed: 'C:\SES\product\squeak 3.8\working\img\' , gif) reset; binary; contents.
    ScriptingSystem formDictionary at: imagekey put: (newGif)].
   
  where 'C:\SES\product\squeak 3.8\working\img' is a path in the server context.
   
  Then to use them:
   
  MyWAHtmlRenderer>>getImage: anImageName withPath: aPath
 |imagekey newForm|
 imagekey:= ('DES-',(anImageName copyUpTo: $.)) asSymbol.
 (ScriptingSystem formAtKey: imagekey) isNil
  ifTrue: [newForm:= (FileStream readOnlyFileNamed: ((FileDirectory default pathName),'\', aPath,'\',anImageName)) reset; binary; contents.
    ScriptingSystem formDictionary at: imagekey put: (newForm).
    ].
 
 ^self imageWithForm: (ScriptingSystem formAtKey: imagekey).
  
 
  and also override...
   
  MyWAHtmlRenderer>>imageWithForm: aForm
 self image: (self context urlForDocument: aForm)
   
  and defined:
   
  ByteArray>>asMIMEDocument 
 ^MIMEDocument contentType: 'image/gif' content: self 
  
Felipe

Jens Pall <jens at axonspace.com> escribió:
  Bany, Michel wrote:
> 
>> Regarding the files, I am looking for a way to serve binary 
>> data from directly within the image itself, not using files 
>> on the external filesystem. I'm planning on using Magma as 
>> the persistent repository for everything and don't want to 
>> rely on stuff out on the filesystem, hence I need a way to 
>> load and serve my images completely from within squeak.
> 
> You may want something like this
> 
> (html anchor)
> document: aByteArray 
> mimeType: 'application/msword' 
> fileName: 'report.doc'
> 

Yes, this looks promising.

But how do I load the document from disk into aByteArray? I think I can 
do this using a web form, but I want to be able to load it directly from 
the filesystem (used in a batch load later).

JP
_______________________________________________
Seaside mailing list
Seaside at lists.squeakfoundation.org
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20070125/e9b102d3/attachment.htm


More information about the Seaside mailing list