K6脚本上传多文件至.NET Core API时参数为空问题排查
问题原因及解决方法
问题出在K6多文件上传的表单字段格式上:
- .NET Core的
[FromForm] List<IFormFile> files期望接收多个名为files的表单文件项,而非一个名为files的数组字段。 - 你之前的写法将文件数组直接赋值给
files键,导致表单结构不符合API的解析规则,因此无法识别文件列表。
修改后的K6脚本(关键部分)
只需要调整sendFiles函数中请求参数的构造方式,将文件数组关联到files键名即可:
async function sendFiles() { const url = "path/to/server"; const image1 = http.file(image1Byte , image1Name ); const image2 = http.file(image2Byte , image2Name ); // 关键:用"files"作为键名,值为文件数组 let response = http.post(url, { files: [image1, image2] }); return response; }
修改后,K6会自动将每个文件以files作为表单字段名发送,.NET Core就能正确解析为List<IFormFile>类型的参数。
内容的提问来源于stack exchange,提问作者ibr
相关产品推荐
相关产品推荐

