gpt4 book ai didi

c# - 将文件添加到 Flurl 多部分 POST 请求时 IFormFileCollection 为空

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

我正在尝试使用 AddFile 使用 Flurl 上传文件。

生成的 IFormFileCollection 为空,但在查看具有正确内容长度的 Request.Form.Files[0] 时我能够看到该项目。

创建请求:

public Task<HttpResponseMessage> UploadImage(string fileName, MemoryStream stream)
{
stream.Position = 0;

_baseUrl
.AppendPathSegments("uploadImage")
.PostMultipartAsync(mp => mp
.AddFile("files", stream, fileName))
}

处理请求:

[HttpPost]
[Route("uploadImage")]
public async Task<HttpResponseMessage> UploadImages([FromForm] IFormFileCollection files)
{
//files is null, but Request.Form.Files[0] in the immediate window shows the file.
}

一个常见的问题似乎是参数名称与 Content-Disposition header 中的名称不匹配,但我将它们更新为 files 并且我仍然遇到同样的问题.

最佳答案

奇怪的是它对我有效:

MemoryStream ms = new MemoryStream();
using (FileStream file = new FileStream("txt.txt", FileMode.Open, FileAccess.Read))
file.CopyTo(ms);

ms.Position = 0;
var _baseUrl = "https://localhost:44392/";
var result = await _baseUrl
.AppendPathSegments("uploadImage")
.PostMultipartAsync(mp => mp
.AddFile("files", ms, "txt.txt"));

结果:

enter image description here

请先尝试使用干净的文件,然后使用await 处理请求。

关于c# - 将文件添加到 Flurl 多部分 POST 请求时 IFormFileCollection 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58665851/

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