There is an exception when downloading attachments with Chinese characters using File Management. The exception still exists when debugging with Swagger. The following is the error message:
2022-08-13 18:23:56.657 +08:00 [INF] Request starting HTTP/1.1 GET http://192.168.235.128:44378/api/file-management/file-descriptor/download/884f5de3-c63f-8092-f51f-3a05a8e817fb/token?api-version=1.0 - -
2022-08-13 18:23:56.661 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:7fb2f2f3-b8f9-9ebc-0192-3a05169b039b,n:FileManagement.FileDescriptor
2022-08-13 18:23:56.663 +08:00 [DBG] Found in the cache: pn:U,pk:7fb2f2f3-b8f9-9ebc-0192-3a05169b039b,n:FileManagement.FileDescriptor
2022-08-13 18:23:56.663 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:FileManagement.FileDescriptor
2022-08-13 18:23:56.664 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:FileManagement.FileDescriptor
2022-08-13 18:23:56.664 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:C,pk:BookStore_BlazorServerTiered,n:FileManagement.FileDescriptor
2022-08-13 18:23:56.666 +08:00 [DBG] Found in the cache: pn:C,pk:BookStore_BlazorServerTiered,n:FileManagement.FileDescriptor
2022-08-13 18:23:56.667 +08:00 [INF] Executing endpoint 'Volo.FileManagement.Files.FileDescriptorController.GetDownloadTokenAsync (Volo.FileManagement.HttpApi)'
2022-08-13 18:23:56.673 +08:00 [INF] Route matched with {controller = "FileDescriptors", area = "fileManagement", action = "GetDownloadToken", page = ""}. Executing controller action with signature System.Threading.Tasks.Task1[Volo.FileManagement.Files.DownloadTokenResultDto] GetDownloadTokenAsync(System.Guid) on controller Volo.FileManagement.Files.FileDescriptorController (Volo.FileManagement.HttpApi). 2022-08-13 18:23:56.689 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:U,pk:7fb2f2f3-b8f9-9ebc-0192-3a05169b039b,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.691 +08:00 [DBG] Found in the cache: pn:U,pk:7fb2f2f3-b8f9-9ebc-0192-3a05169b039b,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.691 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:R,pk:admin,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.693 +08:00 [DBG] Found in the cache: pn:R,pk:admin,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.693 +08:00 [DBG] PermissionStore.GetCacheItemAsync: pn:C,pk:BookStore_BlazorServerTiered,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.694 +08:00 [DBG] Found in the cache: pn:C,pk:BookStore_BlazorServerTiered,n:FileManagement.FileDescriptor 2022-08-13 18:23:56.717 +08:00 [INF] Executing ObjectResult, writing value of type 'Volo.FileManagement.Files.DownloadTokenResultDto'. 2022-08-13 18:23:56.718 +08:00 [INF] Executed action Volo.FileManagement.Files.FileDescriptorController.GetDownloadTokenAsync (Volo.FileManagement.HttpApi) in 45.7411ms 2022-08-13 18:23:56.718 +08:00 [INF] Executed endpoint 'Volo.FileManagement.Files.FileDescriptorController.GetDownloadTokenAsync (Volo.FileManagement.HttpApi)' 2022-08-13 18:23:56.719 +08:00 [INF] Request finished HTTP/1.1 GET http://192.168.235.128:44378/api/file-management/file-descriptor/download/884f5de3-c63f-8092-f51f-3a05a8e817fb/token?api-version=1.0 - - - 200 - application/json;+charset=utf-8 61.9902ms 2022-08-13 18:23:56.764 +08:00 [INF] Request starting HTTP/1.1 GET http://192.168.235.128:44378/api/file-management/file-descriptor/download/884f5de3-c63f-8092-f51f-3a05a8e817fb?token=9f3a8d32-ae2a-4193-8102-408280b92a57&api-version=1.0 - - 2022-08-13 18:23:56.768 +08:00 [INF] Executing endpoint 'Volo.FileManagement.Files.FileDescriptorController.DownloadAsync (Volo.FileManagement.HttpApi)' 2022-08-13 18:23:56.773 +08:00 [INF] Route matched with {controller = "FileDescriptors", area = "fileManagement", action = "Download", page = ""}. Executing controller action with signature System.Threading.Tasks.Task
1[Volo.Abp.Content.IRemoteStreamContent] DownloadAsync(System.Guid, System.String) on controller Volo.FileManagement.Files.FileDescriptorController (Volo.FileManagement.HttpApi).
2022-08-13 18:23:56.835 +08:00 [ERR] ---------- RemoteServiceErrorInfo ----------
{
"code": null,
"message": "对不起,在处理你的请求期间,产生了一个服务器内部错误!",
"details": null,
"data": {},
"validationErrors": null
}
2022-08-13 18:23:56.836 +08:00 [ERR] Invalid non-ASCII or control character in header: 0x6570
System.InvalidOperationException: Invalid non-ASCII or control character in header: 0x6570
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpHeaders.ThrowInvalidHeaderCharacter(Char ch)
at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpHeaders.ValidateHeaderValueCharacters(String headerName, StringValues headerValues, Func2 encodingSelector) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponseHeaders.AddValueFast(String key, StringValues value) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpHeaders.System.Collections.Generic.IDictionary<System.String,Microsoft.Extensions.Primitives.StringValues>.Add(String key, StringValues value) at Volo.FileManagement.Files.FileDescriptorController.DownloadAsync(Guid id, String token) at lambda_method3210(Closure , Object ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask
1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2022-08-13 18:23:56.848 +08:00 [INF] Executing ObjectResult, writing value of type 'Volo.Abp.Http.RemoteServiceErrorResponse'.
2022-08-13 18:23:56.850 +08:00 [INF] Executed action Volo.FileManagement.Files.FileDescriptorController.DownloadAsync (Volo.FileManagement.HttpApi) in 76.1619ms
2022-08-13 18:23:56.850 +08:00 [INF] Executed endpoint 'Volo.FileManagement.Files.FileDescriptorController.DownloadAsync (Volo.FileManagement.HttpApi)'
Hi,
This is a style problem, we will try fix it.
Please delete the previous code try this:
.b-is-autocomplete.b-is-autocomplete-multipleselection { background: #f2f2f2 !important; } .b-is-autocomplete.b-is-autocomplete-multipleselection > input.form-control:focus, .b-is-autocomplete.b-is-autocomplete-multipleselection > input.form-control:active{ background: #f2f2f2 !important; border: 0 !important; box-shadow: 0 0 0 0 !important; }
Thank you so much.
Hi,
The same code that uses the Modal control in the commercial version of the Autocomplete control will show an exception, and the following is the code block
<Button Color="Color.Primary" Clicked="@ShowModal" >@L["Approval"]</Button>
<Modal @ref="modalRef">
<ModalContent Centered>
<ModalHeader>
<ModalTitle>Employee edit</ModalTitle>
<CloseButton />
</ModalHeader>
<ModalBody>
<Field>
<FieldLabel>Name</FieldLabel>
<TextEdit Placeholder="Enter name..." />
</Field>
<Field>
<FieldLabel>Surname</FieldLabel>
<TextEdit Placeholder="Enter surname..." />
</Field>
<Autocomplete TItem="Country"
TValue="string"
Data="@Countries"
TextField="@(( item ) => item.Name)"
ValueField="@(( item ) => item.NameValue)"
Placeholder="Search..."
Multiple
FreeTyping
@bind-SelectedValues="multipleSelectionData"
@bind-SelectedTexts="multipleSelectionTexts">
</Autocomplete>
</ModalBody>
<ModalFooter>
<Button Color="Color.Secondary" Clicked="@HideModal">Close</Button>
<Button Color="Color.Primary" Clicked="@HideModal">Save Changes</Button>
</ModalFooter>
</ModalContent>
</Modal>
public class Country
{
public string Name { get; set; }
public string NameValue { get; set; }
}
private Modal modalRef;
public IEnumerable<Country> Countries;
protected override async Task OnInitializedAsync()
{
multipleSelectionData = new List<string>() { };
await base.OnInitializedAsync();
}
List<string> multipleSelectionData;
List<string> multipleSelectionTexts = new();
private async Task ShowModal()
{
await modalRef.Show();
}
private Task HideModal()
{
return modalRef.Hide();
}