diff --git a/src/Leanetec.EConnect.Client/Order/PostDocumentRequest.cs b/src/Leanetec.EConnect.Client/Order/PostDocumentRequest.cs index 3735df5..c29866d 100644 --- a/src/Leanetec.EConnect.Client/Order/PostDocumentRequest.cs +++ b/src/Leanetec.EConnect.Client/Order/PostDocumentRequest.cs @@ -7,13 +7,13 @@ namespace Leanetec.EConnect.Client.Order; public record PostDocumentRequest(string TenantId, int OrderId) : HttpRequest> { - 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> { @@ -27,7 +27,8 @@ public class PostDocumentRequestHandler : IRequestHandler> Handle(UploadDocumentRequest request, CancellationToken cancel) { return await _client.PostAsync( - request.Content, + request.Stream, + request.FileName, $"api/public/v{request.ApiVersion}/econnect/order/document", new { request.TenantId, request.OrderId }, cancel diff --git a/src/Leanetec.EConnect.Proxy/Controllers/OrderController.cs b/src/Leanetec.EConnect.Proxy/Controllers/OrderController.cs index c337e94..65dd594 100644 --- a/src/Leanetec.EConnect.Proxy/Controllers/OrderController.cs +++ b/src/Leanetec.EConnect.Proxy/Controllers/OrderController.cs @@ -30,13 +30,11 @@ public class OrderController : ControllerBase [HttpPost("document")] public async Task PostDocument(IFormFile file, [FromQuery] PostDocumentRequest request, CancellationToken cancel) { - using var content = new MultipartFormDataContent(); 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 ? StatusCode(res.StatusCodeInt)