Simon and Adam, I deleted my initial reply, kinda got tetchy. Yes, you are correct I did get rapid responses, this forum has improved dramatically over time. I also accept that i did get pretty tetchy, however, I'm going to write that off as tech stress.
I am sure that Google support staff are all trying their hardest, but the docs and lack of concrete examples exasperate problems and one doesn't always have the time to spend hours on stackoverflow day after day. Given that, I concur that not being as familiar as one would like with all the different aspects of Googles Cloud offerings and apis, which are numerous to say the least, is a drawback when it comes to getting things done in certain time frames. Hence my request for more recipe examples. It's so much easier to understand how things work with coded examples. Yes you can find them here and there but invariably they're not what your looking for or incomplete etc. etc. Anyway, I have since changed the code to use the XML API - still doing the POST request from the server as the docs indicate that doing this and then passing the location to the client negates the requirement for a signed url on as the location in the POST is thus signed anyway. This works in as much as the preflight OPTIONS request and the POST request both return 200. However, the latter, for some reason, still returns an error - CORS header ‘Access-Control-Allow-Origin’ missing So that is not working. My next step is to sign a POST request on the server pass it to the client and send it from there. That will have to wait until the morning, it's late and the wine and zanax are calling me. On Monday, February 20, 2017 at 6:47:26 PM UTC+3, Richard Cheesmar wrote: > > I am using the standard python app engine environment and currently > looking at how one goes about uploading multiple large media files to > Google Cloud Storage (Public Readable) using App Engine or the Client > directly (preferred). > > I currently send a bunch of smaller images (max 20 - between 30 and 100k > on average), at the same time directly via a POST to the server. These > images are provided by the client and put in my projects default bucket. I > handle the requests images using a separate thread and write them one at a > time to the cloud and then associate them with an ndb object. This is all > fine and dandy when the images are small and do not cause the request to > run out of memory or invoke a DeadlineExceededError. > > But what is the best approach for large image files of 20mb+ a piece or > video files of up to 1GB in size? Are there efficient ways to do this from > the client directly, would this be possible via the Json api ,a resumable > upload, for example? If so, are there any clear examples of how to do this > purely in javascript on the client? I have looked at the docs but it's not > intuitively obvious at least to me. > > I have been looking at the possibilities for a day or two but nothing hits > you with a clear linear description or approach. I notice in the Google > Docs there is a way using PHP to upload via a POST direct from the client... > https://cloud.google.com/appengine/docs/php/googlestorage/user_upload...Is > this just relevant to using PHP on app engine or is there an equivalent to > createUploadUrl > for python or javascript? > > > Anyway, I'll keep exploring but any pointers would be greatly appreciated. > > > Cheers > > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/google-appengine. To view this discussion on the web visit https://groups.google.com/d/msgid/google-appengine/1c6082f0-220d-4ab2-bca7-759ecc789532%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
