我正在尝试上传一个带有内容主体的文件。是只有使用 PostMultipartAsync
这个方法吗?
在我的 C# 后端代码中,我有如下代码:
var resource = FormBind<StorageFileResource>();
var file = Request.Files.First().ToPostedFile();
FormBind
会从请求中读取数据并填充对象。
使用 PostMultipartAsync
应该像这样开始:
.PostMultipartAsync((mp) => { mp.AddFile(name, stream, name)})
,但我不知道如何添加对象。你有什么想法吗?
这是我目前的尝试:
public static async Task<T> PostFileAsync<T>(string url, object data, string name, Stream stream, object queryString = null)
where T : class
{
return await HandleRequest(async () => queryString != null
? await url
.SetQueryParams(queryString)
.SetClaimsToken()
.PostMultipartAsync((mp) => { mp.AddFile(name, stream, name)})
.ReceiveJson<T>()
: await url
.SetClaimsToken()
.PostMultipartAsync((mp) => mp.AddFile(name, stream, name))
.ReceiveJson<T>());
}
前端发出的当前请求:
ToPostedFile
返回一个 System.Web.HttpPostedFile 吗?此外,“resource” 是什么意思,它在这里有什么相关性?“file” 应该包含你想要发布的所有内容,不是吗? - Todd Meniermultipart/form-data
还是其他格式。这是首要需要找出的重要部分。 - Todd MenierHttpFile
列表中读取。Resource是我的ViewModel类,我只绑定请求字段与该类,它在这里的目的是显示我单独读取其他字段。至于第三部分,这是一个需要multipart/form-data
的API,请查看我的更新答案以了解如何使用前端进行操作。 - eestein