Does this approach get the same edge caching benefit that image_serving_url
links get?  The image links point directly at a CDN domain.

Jeff

On Tue, Nov 22, 2011 at 6:21 PM, Niklas Rosencrantz <nikla...@gmail.com>wrote:

> Have you considered BlobstoreDownloadHandler? Using it is straighforward:
>
> class FileDownloadHandler(blobstore_handlers.BlobstoreDownloadHandler):
>   def get(self, file_id):
>     file_info = FileInfo.get_by_id(long(file_id))
>     if not file_info or not file_info.blob:
>       self.error(404)
>       return
>     self.send_blob(file_info.blob, save_as=True)
>
>
> I use a FileInfo class and I can recommend it.
> A good way to serve blobs I think is a FileInfo class for instance
>
> class FileInfo(db.Model):
>   blob = blobstore.BlobReferenceProperty(required=True)
>   uploaded_by = db.UserProperty(required=True)
>   uploaded_at = db.DateTimeProperty(required=True, auto_now_add=True)
>
> Then you can conveniently serve it as if it were a static file ie. /file/1001
> along the structure file/<file.id> :
>
> class FileInfoHandler(BaseHandler):
>   def get(self, file_id):
>     file_info = FileInfo.get_by_id(long(file_id))
>     if not file_info:
>       self.error(404)
>       return
>     self.render_template("info.html", {
>         'file_info': file_info,
>         'logout_url': users.create_logout_url('/'),
>     })
>
> You may want to look at Nick Johnson's example for implementation with the
> blobstore
>
> http://blog.notdot.net/2010/03/Implementing-a-dropbox-service-with-the-Blobstore-API-Part-1
> I think the example file serving app from Nick Johnson is good and if you
> use python and blobstore maybe you want to follow the link.
> My opinion is that serving and uploading files should be built into the
> framework but it is not. Instead we have to solve the same problem
> repeatedly: File uploads and file serving.
>
> Better to solve uploads and serving once and for all and the FileInfo
> class is so little boilerplate code I can add it to most of my apps since
> most of my apps need the functionality "add a file to the blobstore" and
> "serve a file from the blobstore" so if you ask me I say that these
> functions should be possible without writing your own app just as part of
> the app server.
>
> Regards,
> Niklas
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/google-appengine/-/PilliI2r9eoJ.
>
> To post to this group, send email to google-appengine@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/google-appengine?hl=en.
>



-- 
I am the 20%

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.

Reply via email to