我正在使用Mac应用程序,只是一个封装在WKWebView中的简单Web应用程序。
以下是我上传名称中包含特殊字符的文件时的代码:
-(void)webView:(WKWebView *)webView runOpenPanelWithParameters:(WKOpenPanelParameters *)parameters initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSArray<NSURL *> * _Nullable))completionHandler
{
DEBUG_FUNC(@"");
NSOpenPanel* openDlg = [NSOpenPanel openPanel];
[openDlg setCanChooseFiles:YES];
[openDlg setCanChooseDirectories:NO];
[openDlg setPrompt:NSLocalizedString(@"Choose", nil)];
openDlg.allowsMultipleSelection = YES;
if ( [openDlg runModal] == NSOKButton )
{
if (completionHandler)
{
completionHandler([openDlg URLs]);
}
}
}
当我使用WebView时,这种方式可以工作,因此它不应该是Web问题。
但由于该项目使用了WKWebView,所以 例如:通过WKWebView上传后,文件“证书.p12”将更改为“è¯ä¹| .p12”。 谁知道怎么解决呢? 谢谢!
答案 0 :(得分:0)
我已将此问题发布到https://bugs.webkit.org 所以这是WebKit开发人员确认的WebKit错误, 在https://bugs.webkit.org/show_bug.cgi?id=172849
中查看更多内容答案 1 :(得分:0)
您的代码中存在一些小缺陷(例如您在取消后不调用处理程序),它也已过时...
return_type function_name( parameter list ) {
body of the function
}