1
나는 컴퓨터에서 하나의 파일을 선택하고 HTML 페이지에서 제출 버튼을 클릭하면 업로드 할 수있는 업로드 처리기를 작성하기 위해 GAE의 문서 (https://developers.google.com/appengine/docs/python/blobstore/#Python_Uploading_a_blob)/upload "어떤 핸들러와도 일치하지 않습니다." 모든 의견을 보내 주시면 감사하겠습니다. 내가 제출 '버튼을 클릭하면GAE blobstore를 사용할 때 업로드 처리기가 일치하지 않는 이유
class MainPage(webapp2.RequestHandler):
def get(self):
self.response.headers['Content-Type'] = 'text/html; charset=utf-8'
upload_url = blobstore.create_upload_url('/upload')
logging.info(upload_url)
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>""")
class UploadHandler(blobstore_handlers.BlobstoreUploadHandler):
def post(self):
logging.info('Upload handler')
upload_files = self.get_uploads('file') # 'file' is file upload field in the form
blob_info = upload_files[0]
logging.info(upload_files)
self.redirect('/serve/%s' % blob_info.key())
class ServeHandler(blobstore_handlers.BlobstoreDownloadHandler):
def get(self, resource):
resource = str(urllib.unquote(resource))
logging.info(resource)
blob_info = blobstore.BlobInfo.get(resource)
self.send_blob(blob_info)
application = webapp2.WSGIApplication([
('/', MainPage),
('/upload', UploadHandler),
('/serve/([^/]+)?', ServeHandler),
], debug=True)
[갱신 1] , 내가 dev에 서버 Blob 저장소 뷰어를 확인, 나는 파일이 "/ 업로드"그러나 내 크롬 브라우저가 여전히'URL을 보여,이 업로드 된 발견 핸들러와 일치하지 않습니다. ' 이는 이유?
app.yaml의 처리기 부분에는 무엇이 있습니까? 이 파이썬 모듈에 매핑/업로드가 있습니까? – Greg
@Greg app.yaml에는 하나의 핸더 만 있습니다. - URL :/스크립트 : AppWS.application –
또 다른 이상한 점은, dev 서버 로그에 logging.info ('Upload handler') 정보가 없다는 것입니다. 그러나 UploadHandler가 호출되지 않은 것 같습니다. dev 서버 blobstore 및 업로드 URL은 항상 (http : // localhost : 8080/_ah/upload/ag5kZXZ-bXlnYWVweXN2Y3IiCxIVX19CbG9iVXBsb2FkU2Vzc2lvbl9fGICAgICA3LIJDA) ** 어떤 일이 발생 했습니까? ** –