Как вы можете получить входной файл для работы в WKWebView?


Когда у вас есть WKWebView в приложении OSX, при нажатии кнопки <input type="file"> Вы не можете выбрать файл с жесткого диска. Как бы вы включили эту функцию?

Я слышал, что обычно вы используете:

func webView(sender: WebView!, runOpenPanelForFileButtonWithResultListener resultListener: WebOpenPanelResultListener!)

, который является частью WebUIDelegate , но хотя вы устанавливаете self.webView.UIDelegate = self, он не увольняется.

2 2

2 ответа:

Это известная ошибка в WKWebView.

Https://bugs.webkit.org/show_bug.cgi?id=137759

Вот 100% - ное рабочее решение для задачи Wkwebview "загрузка файлов".

Вам просто нужно реализовать UIDelegate:

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

Перейдите по этой ссылке для получения более подробной информации об этом делегате: Делегат RunOpenPanel