Я пытаюсь получить простую чтение файла в GAE python. Я хочу разрешить пользователям загружать файл csv непосредственно со своего диска и отображать его в текстовом поле. У меня возникло множество неприятностей. Любая помощь будет оценена по достоинству. Я предпочел бы избегать использования blobstore, если это возможно. Я не хочу сохранять данные навсегда, я просто хочу использовать их, чтобы люди могли легко заполнить текстовую область.Загрузка Google App Engine в TextArea (без blobstore)
Вот что моя форма выглядит
<div class = "section hidden" id ="file_choice">
<form action="post"enctype="multipart/form-data">
Choose a '.CSV' file you want to upload or convert.
<br>
<input type = "file" id = "filein" name = "filecsv"/>
<br>
<i>if you are unsure how to convert your file to csv click <a hred = "/instructions">here</a> </i>
<br>
<input type="Submit" name="submit_final"/>
<br>
Alternatively you can use this text box to copy paste from any editor.
<textarea name="txtcsv" cols="150" rows="30">{{myFile}}</textarea>
</form>
</div>
Вот что мой код выглядит,
class Handler(webapp2.RequestHandler):
#wraps response.out.write for ease of typing
def write(self, *a, **kw):
self.response.out.write(*a,**kw)
#renders a template as a string
def render_str(self,template,**params):
t = jinja_env.get_template(template)
return t.render(params)
#renders the template to screen using write
def render(self,template,**kw):
self.write(self.render_str(template,**kw))
class MainHandler(Handler):
def get(self):
self.render('parseForm.html')
def post(self):
test =self.request.POST['filecsv'].getvalue()
self.render('parseForm.html',myFile=test,error="ERRORRRR")
Сейчас текстовое поле получает выход в качестве имени файла.
Это лучший ответ. Если бы у меня была репутация для вас, я бы :( – Mallen