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