0
我有以下簡單AWS聖盃路線:從AWS聖盃的multipart/form-data的http請求raw_body解析
@app.route('/submit', methods=['POST'],
content_types=['multipart/form-data'])
def submit():
request_info = app.current_request.raw_body
return request_info
我然後用一種簡單的形式與多部分數據,包括一個DOCX文件上載:
<form enctype="multipart/form-data" method="POST" action="http://localhost:8000/submit">
<input name='foo' type="text">
<br>
<input name="bar" type="file">
<br>
<button type='submit'>
Submit
</button>
</form>
請求的raw_body
屬性只是http請求的字節,我在尋找一個預先存在的Python庫,它可以讓我提取每個表單字段並將docx文件的字節寫入磁盤(在這種情況下,AWS Lambda中爲tmp文件夾)。是否有一個庫將以raw_body
作爲參數,並允許我解析各個字段,以便我不必自己編寫這樣的解析器?試圖谷歌這是很困難的,因爲大部分返回的結果都與使用python來使用web API,這不是我想要的。
的CGI庫的作品,即使它的氣質。對於閱讀這個使用Chalice的人來說,我的實際解決方案是在路由功能定義中對base64進行編碼和解碼。這會以一定百分比增加數據傳輸,但更容易排除故障。 –
@JoeStech你可以使用zappa燒瓶,上傳的文件將在request.files中可用,因爲我們通常在燒瓶中得到。那麼它更容易調試。沒有提到你將擁有文件的所有屬性mimetype,內容長度等。 – Anurag