我正在尝试上传包含正文内容的文件.是PostMultipartAsync唯一的方法吗?
在我的C#后端代码中我有这个:
var resource = FormBind<StorageFileResource>();
var file = Request.Files.First().ToPostedFile();
Run Code Online (Sandbox Code Playgroud)
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>());
}
Run Code Online (Sandbox Code Playgroud)
目前正在提出的要求:
Tod*_*ier 18
有多种方法可以使用Flurl将"部件"添加到多部分POST中.我还没有将这个添加到文档中,但这里是一个问题的例子,基本上证明了所有可能性:
var resp = await "http://api.com"
.PostMultipartAsync(mp => mp
.AddString("name", "hello!") // individual string
.AddStringParts(new {a = 1, b = 2}) // multiple strings
.AddFile("file1", path1) // local file path
.AddFile("file2", stream, "foo.txt") // file stream
.AddJson("json", new { foo = "x" }) // json
.AddUrlEncoded("urlEnc", new { bar = "y" }) // URL-encoded
.Add(content)); // any HttpContent
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3952 次 |
| 最近记录: |