S3からHTMLサーバーにファイルを含むフォームを投稿するAWSラムダ関数があります。AWS S3のファイルを使用してマルチパート/フォームデータを投稿する方法
import requests
url = 'http://...'
# ...
self.session = requests.session()
# ...
filename = 'mammals/aboutzebras.doc'
data = {
"name":"document",
"method":"upload"
}
resource = boto3.resource('s3')
objectSummary = resource.ObjectSummary('bucket', filename)
body = objectSummary.get()["Body"]
file_content = body.read()
files = {'file': ('content', file_content, 'application/doc;charset=utf8')}
page = self.session.post(
url,
files=files,
data=data
)
print("Status code = %s" % page.status_code)
# >> Status code = 500
私は正常にAWS S3からMS-Wordファイルからデータを取得し、file_content
にそれを置くが、私はそれをコード化するbase64のに必要なのですよ? (私はw/oの成功を試みた)。私は、ヘッダーContent-Length
で見ることができますrequests.post
により送信されたリクエスト・オブジェクトに
はContent-Type
がmultipart/form-data
あるとbounday
が設定されていることを、正しく設定されています。
self.sessions.post
への私の呼び出しは、私が呼び出しているサーバーから500のステータスコードを返します。私のコードは何ですか?
<form>
をHTML文書で使用してurl
に送信すると、status_code
が200
となり、すべて正常です。私は続く例の