如何让输入文件在 WKWebView 中工作?

Mar*_*ark 4 macos file input swift wkwebview

当您在 OSX 应用程序中有 WKWebView 时,当您按下按钮时<input type="file">,您无法从硬盘中选择文件。您将如何启用此功能?

我听说你通常使用:

func webView(sender: WebView!, runOpenPanelForFileButtonWithResultListener resultListener: WebOpenPanelResultListener!)
Run Code Online (Sandbox Code Playgroud)

这是其中的一部分WebUIDelegate,但尽管您设置了self.webView.UIDelegate = self它,但它不会被解雇。

Jeb*_*ses 5

这是 WKWebview“文件上传”问题的 100% 有效解决方案。

您只需要实现 UIDelegate:

- (void)webView:(WKWebView *)webView runOpenPanelWithParameters:(WKOpenPanelParameters *)parameters initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSArray<NSURL *> *URLs))completionHandler;
Run Code Online (Sandbox Code Playgroud)

请点击此链接以获取有关此委托的更多说明: RunOpenPanel Delegate