客户端(javascript)使用XMLHttpRequest
上传应用程序:
var req = new XMLHttpRequest();
req.open('POST', my_app_url, false);
req.setRequestHeader("Content-Length", req.length);
req.sendAsBinary(req.binary);
我在服务器端使用数据存储区(不是blobstore)。
如何将上传的文件保存到数据存储区?我发现ServletFileUpload
可以与Java一起使用。但是如何用Python做同样的事情?
答案 0 :(得分:3)
您应该使用self.request.body
class YourUploadHandler(webapp.RequestHandler):
def post(self):
your_binary_content = self.request.body
答案 1 :(得分:0)
如果你的意思是在appengine方面,你只需要一个blobproperty。所以......就像......
class SomeEntity(db.Model):
file_data = db.BlobProperty()
class AddData(webapp.RequestHandler)
def post(self):
data = self.request.get("filedata")
e = SomeEntity(file_data = db.Blob(data))
e.put()
作为一个说明,我不确定您上面发送的代码是否正确,但您可以使用简单的html格式上传文件,如下所示:
<form action="/url_to_adddata_handler/" method="post">
<input type="file" name="filedata">
<input type="submit" value="Submit">
</form>