I try.

P.S.
If solution work, it's not important if are better or not :)!!!

2009/1/23, [email protected] <[email protected]>:
>
> I had a similar problem.
>
> The problem I have is caused by cacheing of the images which can be
> circumvented with the following hack.
>
> img.setUrl( the_normal_url + "?" + String.valueOf(Math.Random() ) );
>
> Why does it work, the browser sees it as a new url so does not use the
> cached image, the server ignores everything after the question mark so
> returns the image you are after.
>
> There must be a better solution than this, if you know one please post
> here!
>
> good luck.
>
> On Jan 22, 2:48 pm, gregor <[email protected]> wrote:
>> Hi Danielle,
>>
>> I might have twigged what the problem is if you are getting this
>> problem in hosted mode. In hosted mode, the GWT dev shell creates a
>> temporary Tomcat instance, but it does not seem to copy the public or
>> client folders to that instance, only the servlets and server side
>> stuff. I think it just reads the client and public folders from your
>> source tree and loads them internally so it can run the browser
>> simulation via Java (so you can debug your client in Java etc). It
>> will only pick up the new image if you click refresh.
>>
>> If it does not pick it up if you click refresh, but does if you
>> recompile, you have a more difficult problem. You need to be quite
>> certain on this point. You can check this yourself  by creating an
>> Image in client for a file name that does not exist and running hosted
>> mode. It won't find it, and if you copy the image file to /public
>> whist it is still running it still won't find it. But if you hit
>> refresh it will.
>>
>> Gregor
>>
>> On Jan 21, 7:28 pm, gregor <[email protected]> wrote:
>>
>> > OK, say I have test project com.willow.sandbox.Sandbox.gwt.xml
>>
>> > I run project in hosted mode and URL in the hosted mode browser when I
>> > run it is:
>>
>> >    http://localhost:8888/com.willow.sandbox.SandBox/SandBox.html
>>
>> > I manually put an image in c:\....\src\com\willow\sandbox\public\images
>> > \star.gif
>>
>> > I display this image in panel like so in my test GWT application:
>>
>> >     someWidget.add(new Image(images/star.gif);
>>
>> > I run application again and It works fine. Now, still in same hosted
>> > mode session, I select "compile/browse". This displays my application
>> > in my system default browser, but as part of that process it also
>> > compiles all the javascirpt, HTML files etc and sets up the public
>> > folder - including my image, start.gif  This also works, so I close
>> > this browser tab for now.
>>
>> > I know open new browser tab and enter this URL (but I do *not* stop
>> > the hosted mode run - this won't work if you do that because the GWT
>> > hosted mode Tomcat will be also stopped):
>>
>> >      http://localhost:8888/com.willow.sandbox.SandBox/images/star.gif
>>
>> > So my system browser finds and displays the star.gif image no problem!
>>
>> > If you follow these steps  (using your own paths for the URL of
>> > course), since we have already proved that the new image file has been
>> > correctly saved (because String[] photoList = photo.list(); picked it
>> > up), then you should be able to display the new image in your system
>> > browser, thus proving beyond reasonable doubt it is really there.
>>
>> > That will further isolate your problem to either some error in your
>> > client side code (however unlikely that may seem since it works when
>> > you reboot), or something weird going on with browser caching.
>>
>> > regards
>> > gregor
>>
>> > On Jan 21, 5:27 pm, Daniele <[email protected]> wrote:
>>
>> > > I don't understand..
>>
>> > > 2009/1/20, gregor <[email protected]>:
>>
>> > > > There's something weird about this. Have you tried (while the image
>> > > > is
>> > > > in "limbo", i.e. just after you've saved it) copying exactly the
>> > > > same
>> > > > URL string as your GWT client code produces into your browser/new
>> > > > browser tab?
>>
>> > > > On Jan 20, 12:31 pm, Daniele <[email protected]> wrote:
>> > > >> Yes.
>> > > >> Error is not introduced when I make the refresh through the
>> > > >> push-button or reboot application.
>> > > >> I am becoming crazy for this bug!!! :)
>>
>> > > >> Daniele.
>>
>> > > >> 2009/1/20, gregor <[email protected]>:
>>
>> > > >> > Have you tried hitting the refresh button rather than
>> > > >> > recompiling/
>> > > >> > deploying the application after loading new image. Does this make
>> > > >> > a
>> > > >> > difference?
>>
>> > > >> > On Jan 20, 8:59 am, Daniele <[email protected]> wrote:
>> > > >> >> Image saving on folder and String[] photo are ok! I write array
>> > > >> >> on a
>> > > >> >> file when click on widget album after uploading and image name
>> > > >> >> it's
>> > > >> >> present.
>> > > >> >> In development shell, appears this message when I open a album
>> > > >> >> widget
>> > > >> >> after uploading of image:
>>
>> > > >> >> Resource not found wpimg/album/Sport/image1.jpg. Could a file
>> > > >> >> missing
>> > > >> >> from the public path or a <servlet> tag misconfigured???
>>
>> > > >> >> Obviously when I reload application, this message disappear.
>>
>> > > >> >> Daniele
>>
>> > > >> >> 2009/1/19, Daniele <[email protected]>:
>>
>> > > >> >> > I try!
>>
>> > > >> >> > 2009/1/18, gregor <[email protected]>:
>>
>> > > >> >> >> so if you place a debug point here:
>>
>> > > >> >> >>       private static final long serialVersionUID = 403L;
>>
>> > > >> >> >>         public String[] getImageName(String category) {
>>
>> > > >> >> >>                 File photo = new
>> > > >> >> >> File("src/com/webphotogallery/public/
>> > > >> >> >> wpgimg/album/"
>> > > >> >> >> + category);
>> > > >> >> >>                 //File photo = new File("wpgimg/album/" +
>> > > >> >> >> category);
>>
>> > > >> >> >>                 String[] photoList = photo.list();
>>
>> > > >> >> >>                 return photoList;  <<<<<<<< DEBUG
>> > > >> >> >>         }
>>
>> > > >> >> >> Does the new image appear in the photoList array?
>>
>> > > >> >> >> On Jan 18, 3:32 pm, Daniele <[email protected]> wrote:
>> > > >> >> >>> File are saved into a folder that I choose.
>> > > >> >> >>> I look into a folder when application make a upload call.
>> > > >> >> >>> But image doesn't appear when open a album widget...
>>
>> > > >> >> >>> 2009/1/14, Daniele <[email protected]>:
>>
>> > > >> >> >>> > I try some.
>> > > >> >> >>> > Thanks.
>>
>> > > >> >> >>> > Daniele.
>>
>> > > >> >> >>> > 2009/1/14, gregor <[email protected]>:
>>
>> > > >> >> >>> >> There's nothing obviously wrong with this, and the fact
>> > > >> >> >>> >> that the
>> > > >> >> >>> >> uploaded photo appears when you restart server supports
>> > > >> >> >>> >> that.
>> > > >> >> >>> >> Next
>> > > >> >> >>> >> obvious thing to eliminate may be to check exactly where
>> > > >> >> >>> >> on your
>> > > >> >> >>> >> disk
>> > > >> >> >>> >> the uploaded photo is actually written to. Perhaps it is
>> > > >> >> >>> >> not
>> > > >> >> >>> >> where
>> > > >> >> >>> >> you
>> > > >> >> >>> >> expect, and what is happening is that it is being copied
>> > > >> >> >>> >> over to
>> > > >> >> >>> >> the
>> > > >> >> >>> >> "right" location as part of your deployment/hosted mode
>> > > >> >> >>> >> running
>> > > >> >> >>> >> procedure when you restart server. If you upload a photo
>> > > >> >> >>> >> and
>> > > >> >> >>> >> then
>> > > >> >> >>> >> check where it goes while the app is still running, you
>> > > >> >> >>> >> should
>> > > >> >> >>> >> be
>> > > >> >> >>> >> able
>> > > >> >> >>> >> to confirm that one way or another.
>>
>> > > >> >> >>> >> On Jan 14, 1:52 pm, Daniele <[email protected]>
>> > > >> >> >>> >> wrote:
>> > > >> >> >>> >>> Code of upload
>>
>> > > >> >> >>> >>> [CODE]
>> > > >> >> >>> >>> package com.webphotogallery.server;
>>
>> > > >> >> >>> >>> import java.io.File;
>> > > >> >> >>> >>> import java.io.IOException;
>> > > >> >> >>> >>> import java.io.PrintWriter;
>> > > >> >> >>> >>> import java.util.Iterator;
>> > > >> >> >>> >>> import java.util.List;
>>
>> > > >> >> >>> >>> import javax.servlet.ServletException;
>> > > >> >> >>> >>> import javax.servlet.http.HttpServlet;
>> > > >> >> >>> >>> import javax.servlet.http.HttpServletRequest;
>> > > >> >> >>> >>> import javax.servlet.http.HttpServletResponse;
>>
>> > > >> >> >>> >>> import org.apache.commons.fileupload.FileItem;
>> > > >> >> >>> >>> import org.apache.commons.fileupload.FileItemFactory;
>> > > >> >> >>> >>> import
>> > > >> >> >>> >>> org.apache.commons.fileupload.FileUploadException;
>> > > >> >> >>> >>> import
>> > > >> >> >>> >>> org.apache.commons.fileupload.disk.DiskFileItemFactory;
>> > > >> >> >>> >>> import
>> > > >> >> >>> >>> org.apache.commons.fileupload.servlet.FileCleanerCleanup;
>> > > >> >> >>> >>> import
>> > > >> >> >>> >>> org.apache.commons.fileupload.servlet.ServletFileUpload;
>> > > >> >> >>> >>> import org.apache.commons.io.FileCleaningTracker;
>>
>> > > >> >> >>> >>> public class UploadPhoto extends HttpServlet{
>>
>> > > >> >> >>> >>>         /*
>> > > >> >> >>> >>>          *
>> > > >> >> >>> >>>          */
>>
>> > > >> >> >>> >>>         private static final long serialVersionUID =
>> > > >> >> >>> >>> 144332L;
>>
>> > > >> >> >>> >>>         public void service(HttpServletRequest
>> > > >> >> >>> >>> request,HttpServletResponse
>> > > >> >> >>> >>> response)
>> > > >> >> >>> >>>                         throws ServletException,
>> > > >> >> >>> >>> IOException {
>>
>> > > >> >> >>> >>>                 FileItemFactory factory = new
>> > > >> >> >>> >>> DiskFileItemFactory();
>> > > >> >> >>> >>>                 ServletFileUpload upload = new
>> > > >> >> >>> >>> ServletFileUpload(factory);
>> > > >> >> >>> >>>                 String UPLOAD_DIRECTORY =
>> > > >> >> >>> >>> "./src/com/webphotogallery/public/wpgimg/album/";
>> > > >> >> >>> >>>                 //String UPLOAD_DIRECTORY =
>> > > >> >> >>> >>> "wpgimg/album/";
>>
>> > > >> >> >>> >>>                 List<FileItem> items = null;
>>
>> > > >> >> >>> >>>                 try {
>> > > >> >> >>> >>>                                 items =
>> > > >> >> >>> >>> upload.parseRequest(request);
>> > > >> >> >>> >>>                 }
>> > > >> >> >>> >>>                         catch (FileUploadException e) {
>> > > >> >> >>> >>>                                 e.printStackTrace();
>> > > >> >> >>> >>>                 }
>>
>> > > >> >> >>> >>>                         Iterator iter =
>> > > >> >> >>> >>> items.iterator();
>> > > >> >> >>> >>>                         while(iter.hasNext())
>> > > >> >> >>> >>>                         {
>> > > >> >> >>> >>>                                 FileItem it =
>> > > >> >> >>> >>> (FileItem)iter.next();
>>
>> > > >> >> >>> >>>                                 if(it.isFormField())
>>
>> > > >> >> >>> >>> UPLOAD_DIRECTORY+=it.getString()
>> > > >> >> >>> >>> +
>> > > >> >> >>> >>> "/";
>>
>> > > >> >> >>> >>>                                 else
>> > > >> >> >>> >>>                                 {
>>
>> ...
>>
>> read more ยป
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" 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/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to