mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-15 23:13:32 +08:00
refactor(tenpayv3): 优化代码
This commit is contained in:
parent
02d2b9469e
commit
11e7bee23b
@ -0,0 +1,9 @@
|
||||
using System;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Constants
|
||||
{
|
||||
internal static class FormDataFields
|
||||
{
|
||||
public const string FORMDATA_META = "meta";
|
||||
}
|
||||
}
|
@ -51,7 +51,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
using var fileContent = new ByteArrayContent(request.FileBytes);
|
||||
using var metaContent = new ByteArrayContent(Encoding.UTF8.GetBytes(client.JsonSerializer.Serialize(request)));
|
||||
using var httpContent = new MultipartFormDataContent(boundary);
|
||||
httpContent.Add(metaContent, "\"meta\""); // NOTICE: meta 必须要加双引号
|
||||
httpContent.Add(metaContent, "\"" + Constants.FormDataFields.FORMDATA_META + "\""); // NOTICE: meta 必须要加双引号
|
||||
httpContent.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号
|
||||
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号
|
||||
metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
|
||||
|
@ -51,7 +51,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
using var fileContent = new ByteArrayContent(request.FileBytes);
|
||||
using var metaContent = new StringContent(client.JsonSerializer.Serialize(request), Encoding.UTF8, "application/json");
|
||||
using var httpContent = new MultipartFormDataContent(boundary);
|
||||
httpContent.Add(metaContent, "\"meta\""); // NOTICE: meta 必须要加双引号
|
||||
httpContent.Add(metaContent, "\"" + Constants.FormDataFields.FORMDATA_META + "\""); // NOTICE: meta 必须要加双引号
|
||||
httpContent.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号
|
||||
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号
|
||||
metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
|
||||
|
@ -262,7 +262,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3
|
||||
using var fileContent = new ByteArrayContent(request.FileBytes);
|
||||
using var metaContent = new ByteArrayContent(Encoding.UTF8.GetBytes(client.JsonSerializer.Serialize(request)));
|
||||
using var httpContent = new MultipartFormDataContent(boundary);
|
||||
httpContent.Add(metaContent, "\"meta\""); // NOTICE: meta 必须要加双引号
|
||||
httpContent.Add(metaContent, "\"" + Constants.FormDataFields.FORMDATA_META + "\""); // NOTICE: meta 必须要加双引号
|
||||
httpContent.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号
|
||||
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号
|
||||
metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
|
||||
|
@ -33,10 +33,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Interceptors
|
||||
|
||||
if (flurlCall.HttpRequestMessage.Content is MultipartFormDataContent)
|
||||
{
|
||||
// NOTICE: multipart/form-data 文件上传请求的待签名参数需特殊处理。
|
||||
// NOTICE: multipart/form-data 文件上传请求的待签名参数需特殊处理
|
||||
var httpContent = (MultipartFormDataContent)flurlCall.HttpRequestMessage.Content;
|
||||
body = httpContent
|
||||
.Where(e => "meta".Equals(e.Headers.ContentDisposition?.Name?.Trim('\"')))
|
||||
.Where(e => Constants.FormDataFields.FORMDATA_META.Equals(e.Headers.ContentDisposition?.Name?.Trim('\"')))
|
||||
.Select(e => e.ReadAsStringAsync().ConfigureAwait(false).GetAwaiter().GetResult())
|
||||
.Single();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user