From 241b57b36fcb16e07491260956855723a6702121 Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Wed, 19 Oct 2022 10:33:36 +0800 Subject: [PATCH] Improve --- .../ContentFormatters/RemoteStreamContentOutputFormatter.cs | 4 ++-- .../Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs | 4 +--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentOutputFormatter.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentOutputFormatter.cs index 5c5e7ed6c0..5f2ff67c6e 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentOutputFormatter.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ContentFormatters/RemoteStreamContentOutputFormatter.cs @@ -27,10 +27,10 @@ public class RemoteStreamContentOutputFormatter : OutputFormatter context.HttpContext.Response.ContentType = remoteStream.ContentType; context.HttpContext.Response.ContentLength = remoteStream.ContentLength; - if (!remoteStream.FileName.IsNullOrWhiteSpace()) + if (!remoteStream.FileName.IsNullOrWhiteSpace() && !context.HttpContext.Response.Headers.ContainsKey(HeaderNames.ContentDisposition)) { var contentDisposition = new ContentDispositionHeaderValue("attachment"); - contentDisposition.SetHttpFileName(remoteStream.FileName); + contentDisposition.SetMimeFileName(remoteStream.FileName); context.HttpContext.Response.Headers[HeaderNames.ContentDisposition] = contentDisposition.ToString(); } diff --git a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs index 4c5e1523ea..8c0ab4f538 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs +++ b/framework/src/Volo.Abp.Http.Client/Volo/Abp/Http/Client/ClientProxying/ClientProxyBase.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; -using System.Net; using System.Net.Http; using System.Net.Http.Headers; using System.Threading; @@ -92,9 +91,8 @@ public class ClientProxyBase : ITransientDependency * it before we finish doing our work with the stream */ return (T)(object)new RemoteStreamContent( await responseContent.ReadAsStreamAsync(), - WebUtility.UrlDecode( responseContent.Headers?.ContentDisposition?.FileNameStar ?? - RemoveQuotes(responseContent.Headers?.ContentDisposition?.FileName).ToString()), + RemoveQuotes(responseContent.Headers?.ContentDisposition?.FileName).ToString(), responseContent.Headers?.ContentType?.ToString(), responseContent.Headers?.ContentLength); }