gpt4 book ai didi

multipartform-data - 使用无服务器处理多部分/表单数据?

转载 作者:行者123 更新时间:2023-12-05 00:54:48 25 4
gpt4 key购买 nike

如何使用无服务器框架处理多部分/表单数据? v.0.5.6

刚试过这个:

"requestTemplates": {
"multipart/form-data": {
"httpMethod": "$context.httpMethod",
"body": "$input.json('$')",
"queryParams": "$input.params().querystring",
"headerParams": "$input.params().header",
"headerParamNames": "$input.params().header.keySet()",
"contentTypeValue": "$input.params().header.get('Content-Type')"
},
"application/json": {
"httpMethod": "$context.httpMethod",
"body": "$input.json('$')",
"queryParams": "$input.params().querystring",
"headerParams": "$input.params().header",
"headerParamNames": "$input.params().header.keySet()",
"contentTypeValue": "$input.params().header.get('Content-Type')"
}
}

Action .js:
export function respond(event, cb) {

var form = new formidable.IncomingForm();
form.parse(event, function(err, fields, files) {
if (err == null) {
var response = {
status: "true",
data: fields,
error: []
};
return cb(null, response);
} else {
console.log(err);
return cb(null, ApiErrors.errors(402, err['message'] + fields));
}
});



}

但是出现错误: errorMessage = "Cannot read property 'content-length' of undefined";

最佳答案

我已经和 serverless 一起工作了通过模拟 http.ClientRequest并使用像 formidable 这样的表单解析器工具.

我正在使用 lambda-proxy用于 API 网关事件配置。

const Stream      = require('stream').Readable;
const Formidable = require('formidable');

module.exports.upload = ( e, ctx, cb ) => {
let form = new Formidable.IncomingForm();

let stream = new Stream();
stream.push( e.body );
stream.push( null );

// NOTE: You'll likely want to toLowerCase() at least 'Content-Type' header key
stream.headers = e.headers;

form.parse( stream, (err, fields, files) => {
// Work with your parsed form results here.
});
}

关于multipartform-data - 使用无服务器处理多部分/表单数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39374581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com