def prepareUpload(self, request): #check if the user is validated userKey = user.User.validateUser(request.userName, request.authToken) if not userKey: return uploadUrlReturn(errorNumber = 1, errorMessage = "User Validation Failed") #starts a call for to create an upload url rpcObject = blobstore.create_upload_url_async('/processupload') #create the temporary object to copy over once the photo is uploaded - descendant of user tempPhotoKey = photo.TempPhoto.createNewTempPhoto(request.eventKey, userKey, request.privacySetting, request.caption) try: #get the result of the create upload url call earlier # uploadURL = rpcObject.get_result() uploadURL = rpcObject.get_result() return uploadUrlReturn(errorNumber = 200, errorMessage = "Success", uploadUrl = uploadURL, tempPhotoKey = tempPhotoKey) except: #delete the temp photo detail storage if no url generated ndb.Key(urlsafe = tempPhotoKey).delete() #if can't retrieve the url created - timeout or other error return uploadUrlReturn(errorNumber = 11, errorMessage = "Upload URL Generation Failed")
def get(self): upload_url_rpc = blobstore.create_upload_url_async('/upload') upload_url = upload_url_rpc.get_result() self.response.out.write('<html><body>') self.response.out.write('<form action="%s" method="POST" enctype="multipart/form-data">' % upload_url) self.response.out.write("""Upload File: <input type="file" name="file"><br> <input type="submit" name="submit" value="Submit"> </form></body></html>""")
def generate_upload_url(self): try: #return blobstore.create_upload_url_async(success_path=urls.requestUploadImage, max_bytes_total=max_bytes_total, gs_bucket_name=gs_bucket_name) rpc = blobstore.create_upload_url_async(success_path=urls.requestUploadImage, max_bytes_total=max_bytes_total) return rpc except CapabilityUnavailable, cue: raise cue
def upload(request, note_id, par_id): p = get_object_or_404(Paragraph, pk=par_id) if request.method == "POST": submitted_key = get_blob_key(request) if submitted_key is None: return HttpResponseForbidden( "An ugly person you are. Please,\ don't feed me with invalid headrs. This functionality\ is mission-crtical, you know." ) info = blobstore.BlobInfo(blobstore.BlobKey(submitted_key)) if re.match("image/", info.content_type) is None: blobstore.delete_async(submitted_key) return HttpResponseForbidden("An image, please!") blobstore.delete_async(p.blob_key) p.blob_key = submitted_key p.last_edit = datetime.datetime.now() p.save() view_url = reverse("notes.views.serve_image", args=[note_id, par_id]) return HttpResponseRedirect(view_url) upload_url = reverse("notes.views.upload", args=[note_id, par_id]) upload_url_rpc = blobstore.create_upload_url_async(upload_url) form = UploadForm() upload_url = upload_url_rpc.get_result() return direct_to_template(request, "notes/upload.html", {"form": form, "upload_url": upload_url})
def get(self): #upload_url = blobstore.create_upload_url('/upload') upload_url_rpc = blobstore.create_upload_url_async('/upload') upload_url = upload_url_rpc.get_result() simplegallery_name = self.request.get('simplegallery_name', DEFAULT_simplegallery_NAME) if users.get_current_user(): url = users.create_logout_url(self.request.uri) url_linktext = 'Logout' else: url = users.create_login_url(self.request.uri) url_linktext = 'Login' link_image = 'images' url_image = 'image' link_video = 'videos' url_video = 'video' link_audio = 'audios' url_audio = 'audio' if users.get_current_user(): template_values = { 'upload_url': upload_url, 'simplegallery_name': urllib.quote_plus(simplegallery_name), 'url': url, 'url_linktext': url_linktext, 'url_video': url_video, 'url_audio': url_audio, 'url_image': url_image, 'link_image': link_image, 'link_video': link_video, 'link_audio': link_audio, } template = JINJA_ENVIRONMENT.get_template('upload.html') self.response.write(template.render(template_values)) else: self.redirect(url)
def generate_upload_url(self): #return blobstore.create_upload_url_async(success_path=urls.requestUploadImage, max_bytes_total=max_bytes_total, gs_bucket_name=gs_bucket_name) rpc = blobstore.create_upload_url_async(success_path=urls.requestUploadImage, max_bytes_total=max_bytes_total) return rpc
def get(self): async = self.request.get('async') if async is not None and async == 'true': upload_url_rpc = blobstore.create_upload_url_async('/python/blobstore/upload') upload_url = upload_url_rpc.get_result()