views:

41

answers:

1

I've got a fairly new site where I upload images using the blobstore and storing the url in my datastore model as an db.StringProperty().

When the file is uploaded I get the serving url with: image.imageUrl = images.get_serving_url(str(upload_files[0].key())) where image is my datastore model. I haven't modified the code for about 2 weeks and it's been working so far.

But all of the sudden all url's just returns 500 error when trying to open them.

The URL http://lh4.ggpht.com/JfA6nTibsx99EJ2TQoQZr5OVXhQUj_tJK0wCP3FJSRq9RhCzUFLAwsR1q0bzplmqRaRu6fTnNPqDFzpxzMMBeva9FJ9WRXdAqgA just returns 500 error.

Some what strange is that adding a resizing (adding =s720) param works:

http://lh4.ggpht.com/JfA6nTibsx99EJ2TQoQZr5OVXhQUj_tJK0wCP3FJSRq9RhCzUFLAwsR1q0bzplmqRaRu6fTnNPqDFzpxzMMBeva9FJ9WRXdAqgA=s720

Anyone encountered this? Sounds strange the a url would expire.

..fredrik

EDIT:

Reading the documentation I interpret that it should always be the same URL (am I wrong?):

The URL returned by this method is always public, but not guessable; private URLs are not currently supported. If you wish to stop serving the URL, delete the underlying blob key. This takes up to 24 hours to take effect.

+2  A: 

Looks like the same issue as 3789: http://code.google.com/p/googleappengine/issues/detail?id=3789

Try appending =s1600.

1600 is the maximum size the high-performance can serve. Appending 1600 should get the native size, or 1600 -- which ever is smaller.

Robert Kluin
Seems to be. I had the problem yesterday. But today it works fine! I'll append =s1600 as a safety measure.
fredrik