所以基本上我正在尝试接收文件并将其存储在数据存储区中。现在,我知道你通常会使用blobstore,但这是一个相对较小(可能是40-50 kb)的文本文件,因此使用blobstore会有点过分。
问题是,我似乎无法找到从文件中获取数据的任何方法。 self.request.get(“data”)和self.request.POST.get(“data”),应该包含文件内容(据我所知)只是一个带有文件名且没有数据的字符串
这是python 2.7代码:
class SubmitHandler(webapp2.RequestHandler):
def get(self):
user = users.get_current_user()
if not user:
self.redirect(users.create_login_url(self.request.uri))
else:
template = jinja_environment.get_template('templates/submit.html')
self.response.out.write(template.render())
def post(self):
user = users.get_current_user()
if not user:
self.error(401)
craft = Craft(submitter = user,
title = self.request.get('title'),
description = self.request.get('description'),
data = self.request.get("data"))
self.redirect('view/' + (hex(craft.put().id()))[2:-1])
以及相应的HTML文档:
<!DOCTYPE html>
<html>
<body>
<form action="/submit" method="post">
<div><textarea name="title" rows="1" cols="40" placeholder="Title"></textarea></div>
<div><textarea name="description" rows="3" cols="40" placeholder="Description"></textarea></div>
<div><input type="file" name="data"/></div>
<div><input type="submit" value="Upload"></div>
</form>
</body>
</html>
答案 0 :(得分:2)
您的表单缺少必要的enctype="multipart/form-data"
属性