栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Appengine python中使用multipart / form-data发布请求不起作用

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Appengine python中使用multipart / form-data发布请求不起作用

这是我在本地测试的一些代码,应该可以解决这个问题(我使用了与webapp2不同的处理程序,但尝试将其修改为webapp2。您还需要在以下位置找到发帖人库http://atlee.ca/software/poster/):

在GAE上的POST处理程序中:

from google.appengine.api import urlfetchfrom poster.enpre import multipart_enprepayload = {}payload['test_file'] = self.request.POST['test_file']payload['user_id'] = self.request.POST['user_id']to_post = multipart_enpre(payload)send_url = "http://127.0.0.1:8000/"result = urlfetch.fetch(url=send_url, payload="".join(to_post[0]), method=urlfetch.POST, headers=to_post[1])logging.info(result.content)

确保您的HTML表单包含

method="POST" enctype="multipart/form-data"
。希望这可以帮助!

编辑:
我尝试使用webapp2处理程序,并意识到提供文件的方式与我以前使用测试框架(KAY)的方式不同。这是应该起作用的更新代码(已在生产中测试):

import webapp2from google.appengine.api import urlfetchfrom poster.enpre import multipart_enpre, MultipartParamclass UploadTest(webapp2.RequestHandler):  def post(self):     payload = {}    file_data = self.request.POST['test_file']    payload['test_file'] = MultipartParam('test_file', filename=file_data.filename,         filetype=file_data.type,         fileobj=file_data.file)    payload['name'] = self.request.POST['name']    data,headers= multipart_enpre(payload)    send_url = "http://127.0.0.1:8000/"    t = urlfetch.fetch(url=send_url, payload="".join(data), method=urlfetch.POST, headers=headers)    self.response.headers['Content-Type'] = 'text/plain'    self.response.out.write(t.content)  def get(self):    self.response.out.write("""    <html>        <head> <title>File Upload Test</title>        </head>        <body> <form action="" method="POST" enctype="multipart/form-data">     <input type="text" name="name" />     <input type="file" name="test_file" />     <input type="submit" value="Submit" /> </form>        </body>    </html>""")


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611379.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号