mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-07-17 10:41:58 +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 fileContent = new ByteArrayContent(request.FileBytes);
|
||||||
using var metaContent = new ByteArrayContent(Encoding.UTF8.GetBytes(client.JsonSerializer.Serialize(request)));
|
using var metaContent = new ByteArrayContent(Encoding.UTF8.GetBytes(client.JsonSerializer.Serialize(request)));
|
||||||
using var httpContent = new MultipartFormDataContent(boundary);
|
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.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号
|
||||||
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号
|
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号
|
||||||
metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
|
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 fileContent = new ByteArrayContent(request.FileBytes);
|
||||||
using var metaContent = new StringContent(client.JsonSerializer.Serialize(request), Encoding.UTF8, "application/json");
|
using var metaContent = new StringContent(client.JsonSerializer.Serialize(request), Encoding.UTF8, "application/json");
|
||||||
using var httpContent = new MultipartFormDataContent(boundary);
|
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.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号
|
||||||
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号
|
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号
|
||||||
metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
|
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 fileContent = new ByteArrayContent(request.FileBytes);
|
||||||
using var metaContent = new ByteArrayContent(Encoding.UTF8.GetBytes(client.JsonSerializer.Serialize(request)));
|
using var metaContent = new ByteArrayContent(Encoding.UTF8.GetBytes(client.JsonSerializer.Serialize(request)));
|
||||||
using var httpContent = new MultipartFormDataContent(boundary);
|
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.Add(fileContent, "\"file\"", "\"" + request.FileName + "\""); // NOTICE: file 必须要加双引号
|
||||||
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号
|
httpContent.Headers.ContentType = MediaTypeHeaderValue.Parse("multipart/form-data; boundary=" + boundary); // NOTICE: boundary 不能加引号
|
||||||
metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
|
metaContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
|
||||||
|
@ -33,10 +33,10 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Interceptors
|
|||||||
|
|
||||||
if (flurlCall.HttpRequestMessage.Content is MultipartFormDataContent)
|
if (flurlCall.HttpRequestMessage.Content is MultipartFormDataContent)
|
||||||
{
|
{
|
||||||
// NOTICE: multipart/form-data 文件上传请求的待签名参数需特殊处理。
|
// NOTICE: multipart/form-data 文件上传请求的待签名参数需特殊处理
|
||||||
var httpContent = (MultipartFormDataContent)flurlCall.HttpRequestMessage.Content;
|
var httpContent = (MultipartFormDataContent)flurlCall.HttpRequestMessage.Content;
|
||||||
body = httpContent
|
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())
|
.Select(e => e.ReadAsStringAsync().ConfigureAwait(false).GetAwaiter().GetResult())
|
||||||
.Single();
|
.Single();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user