feat(PostDocumentRequest): update to forward stream instad of whole content
This commit is contained in:
parent
b5082daa1a
commit
e8fd49d75d
@ -7,13 +7,13 @@ namespace Leanetec.EConnect.Client.Order;
|
|||||||
|
|
||||||
public record PostDocumentRequest(string TenantId, int OrderId) : HttpRequest<Response<ProblemDetail>>
|
public record PostDocumentRequest(string TenantId, int OrderId) : HttpRequest<Response<ProblemDetail>>
|
||||||
{
|
{
|
||||||
public UploadDocumentRequest ToUploadDocument(StreamContent content)
|
public UploadDocumentRequest ToUploadDocument(Stream stream, string fileName)
|
||||||
{
|
{
|
||||||
return new UploadDocumentRequest(this, content);
|
return new UploadDocumentRequest(this, stream, fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public record UploadDocumentRequest(PostDocumentRequest Original, StreamContent Content) : PostDocumentRequest(Original);
|
public record UploadDocumentRequest(PostDocumentRequest Original, Stream Stream, string FileName) : PostDocumentRequest(Original);
|
||||||
|
|
||||||
public class PostDocumentRequestHandler : IRequestHandler<UploadDocumentRequest, Response<ProblemDetail>>
|
public class PostDocumentRequestHandler : IRequestHandler<UploadDocumentRequest, Response<ProblemDetail>>
|
||||||
{
|
{
|
||||||
@ -27,7 +27,8 @@ public class PostDocumentRequestHandler : IRequestHandler<UploadDocumentRequest,
|
|||||||
public async Task<Response<ProblemDetail>> Handle(UploadDocumentRequest request, CancellationToken cancel)
|
public async Task<Response<ProblemDetail>> Handle(UploadDocumentRequest request, CancellationToken cancel)
|
||||||
{
|
{
|
||||||
return await _client.PostAsync(
|
return await _client.PostAsync(
|
||||||
request.Content,
|
request.Stream,
|
||||||
|
request.FileName,
|
||||||
$"api/public/v{request.ApiVersion}/econnect/order/document",
|
$"api/public/v{request.ApiVersion}/econnect/order/document",
|
||||||
new { request.TenantId, request.OrderId },
|
new { request.TenantId, request.OrderId },
|
||||||
cancel
|
cancel
|
||||||
|
|||||||
@ -30,13 +30,11 @@ public class OrderController : ControllerBase
|
|||||||
[HttpPost("document")]
|
[HttpPost("document")]
|
||||||
public async Task<IActionResult> PostDocument(IFormFile file, [FromQuery] PostDocumentRequest request, CancellationToken cancel)
|
public async Task<IActionResult> PostDocument(IFormFile file, [FromQuery] PostDocumentRequest request, CancellationToken cancel)
|
||||||
{
|
{
|
||||||
using var content = new MultipartFormDataContent();
|
|
||||||
using var stream = file.OpenReadStream();
|
using var stream = file.OpenReadStream();
|
||||||
using var streamContent = new StreamContent(stream);
|
|
||||||
streamContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue(file.ContentType);
|
|
||||||
content.Add(streamContent, "file", file.FileName);
|
|
||||||
|
|
||||||
var res = await _mediator.Send(request.ToUploadDocument(streamContent), cancel);
|
var uploadRequest = request.ToUploadDocument(stream, file.FileName);
|
||||||
|
|
||||||
|
var res = await _mediator.Send(uploadRequest, cancel);
|
||||||
|
|
||||||
return res.Ok
|
return res.Ok
|
||||||
? StatusCode(res.StatusCodeInt)
|
? StatusCode(res.StatusCodeInt)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user