diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Constants/FormDataFields.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Constants/FormDataFields.cs new file mode 100644 index 00000000..ae5948f0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Constants/FormDataFields.cs @@ -0,0 +1,9 @@ +using System; + +namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Constants +{ + internal static class FormDataFields + { + public const string FORMDATA_META = "meta"; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMediaExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMediaExtensions.cs index 01ac722e..40d32987 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMediaExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMarketingMediaExtensions.cs @@ -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"); diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantMediaExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantMediaExtensions.cs index c2443b52..e553bb0e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantMediaExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantMediaExtensions.cs @@ -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"); diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantServiceExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantServiceExtensions.cs index d71f5e8a..4ed6dc88 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantServiceExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Extensions/WechatTenpayClientExecuteMerchantServiceExtensions.cs @@ -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"); diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Interceptors/WechatTenpayAuthenticator.cs b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Interceptors/WechatTenpayAuthenticator.cs index ffd13c06..689e5209 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Interceptors/WechatTenpayAuthenticator.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/Interceptors/WechatTenpayAuthenticator.cs @@ -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(); }