aws 部署python lambda_python - 如何使用Aws Lambda(python)接收文件 - 堆栈内存溢出
我正試圖弄清楚如何通過Python中的API調用接收瀏覽器發送的文件。
允許Web客戶端發送任何類型的文件(例如.txt,.docx,.xlsx,...)。 我不知道我是否應該使用二進制文件。
想法是在S3之后保存文件。 現在我知道可以使用像Aws Amplify這樣的js庫并生成一個臨時URL,但我對這個解決方案不太感興趣。
任何幫助表示贊賞,我已經在Python中廣泛搜索了一個解決方案,但我找不到任何實際工作的東西!
我的API是私有的,我使用無服務器進行部署。
files_post:
handler: post/post.post
events:
- http:
path: files
method: post
cors: true
authorizer:
name: authorizer
arn: ${cf:lCognito.CognitoUserPoolMyUserPool}
編輯
我有一個半解決方案適用于文本文件但不適用于PDF,XLSX或圖像,如果有人讓我超級開心
from cgi import parse_header, parse_multipart
from io import BytesIO
import json
def post(event, context):
print event['queryStringParameters']['filename']
c_type, c_data = parse_header(event['headers']['content-type'])
c_data['boundary'] = bytes(c_data['boundary']).encode("utf-8")
body_file = BytesIO(bytes(event['body']).encode("utf-8"))
form_data = parse_multipart(body_file, c_data)
s3 = boto3.resource('s3')
object = s3.Object('storage', event['queryStringParameters']['filename'])
object.put(Body=form_data['upload'][0])
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的aws 部署python lambda_python - 如何使用Aws Lambda(python)接收文件 - 堆栈内存溢出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vs 编译设置obj路径_FLUENT
- 下一篇: 化工网站开发_西部地区鼓励投资化工(石化