Hi,

You have 2 distinguish between 2 types of blobs:

- Blob as an object managed by the Blobstore: up 2 to gigabytes. See
http://code.google.com/appengine/docs/java/blobstore/overview.html

- Blob as a Java type used by app engine: up to 1 megabyte. See
http://code.google.com/appengine/docs/java/datastore/entities.html#Properties_and_Value_Types

If you generate your data on GAE and want to store them, you have to
generate and store them as a linkrd list of Blobs (the java type) that
you manage by yourself. So, you can then have N x 1 Mb with no limit
on N.

You will face a problem though: an interactive request cannot last
more than 30s as of now, so if your file is huge, you may not be able
to download all of its blobs in 30s.

Then, you would need to write to the blobstore, which is not possible
directly: you have to use the trick described here:
http://groups.google.com/group/google-appengine-java/browse_thread/thread/2bea1295a3f542de/854ea95dcd986dab.
And, once again you should not do this in an interactive request by in
a task that you queued because then the processing limit is raised to
10 min.

So, to summarize, you should try to: generate your file into blobs if
needed in a 1st task and then in a second task, concatenate this list
of small 1 mb blobs to a large blob object into the blobstore which
will then be downlaodable as any other after you fetch the url imposed
by the blobstore.

To be honest, I never did this mechanism in full length at once: i use
all the parts in various occasion. So, I guess that you can put them
one after the other to reach you goal.

Of course, something more straight would be nice.  I look forward to
seeing a much simpler proposal than this one.

regards

didier

On Jan 21, 4:32 pm, c...@rahmstrom.com wrote:
> I'm writing an application in GWT/GAE that needs to be able to import/export
> data from/to custom files. Import is no problem but how do I go about
> generating a custom file for download?
>
> I understand that GAE does not support File and instead uses Blobs and that
> it is possible to download a file generated from that Blob. However, I can
> not find a way to generate Blobs other than to upload static files. Is this
> correct? I would like to be able to write to a Blob via a stream. Or is
> there an other way?
>
> Carl

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

Reply via email to