首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从post请求将文件转发到s3

如何从post请求将文件转发到s3
EN

Stack Overflow用户
提问于 2022-01-06 12:47:02
回答 1查看 264关注 0票数 0

我正在尝试部署一个可以处理帖子请求的网站。为此,我设置了一个调用lambda函数的api网关。lambda的结构如下:

代码语言:javascript
复制
exports.handler = async (event) => {
    // TODO implement
    var ht = '<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="Content-Type" content="text/html"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title> </head> <body><form method = "post"> <input type="file" id="myFile" name="filename"> <input type="submit"> </form></body></html>'

    
     if (JSON.stringify(event['requestContext']['http']['method']) == '"GET"'){
    const    response = {
    "statusCode": 200,
    "body": ht,
    "headers": {
        'Content-Type': 'text/html',
    }
    
    
}
return response;
 
    }
    if (JSON.stringify(event['requestContext']['http']['method']) == '"POST"'){
        // forwards the uploaded file into s3
        
        return 1
    }
    
    
};

现在,在get请求时,呈现的html页面包含一个选择文件的按钮和一个提交文件的按钮。这样做的想法是,在按下提交时,上传一个文件,从而触发post请求。我想知道如何从'Post‘if语句(第二个注释所在的地方)中的请求中提取这个文件,这样我就可以将它发送到一个s3桶中了。我还想知道,如何才能将html放在自己的index.html文件中,并在lambda函数中调用它,而不是让html成为一行呢?谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-01-10 05:23:57

您可以使用代码检查https://github.com/mmakadiya/aws_lambda-API_gateway-Import-XML-data/tree/main

事件“主体”将包含您导入的主体的内容。

--

导入json导入boto3

def lambda_handler(事件,上下文):# TODO实现打印(“V.1”) print("========================") print(事件) print("========================")

代码语言:javascript
复制
s3 = boto3.resource("s3")
s3.Bucket("my-files-maulik").put_object(Key = "MyFirstFile.xml", Body = event['body'])

print("**********body = " + event['body'])
return {
    'statusCode': 200,
    'body': json.dumps('Hello from Lambda!')
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70607326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档