在WKWebView的UIDelegate事件中,调起文件选择对话框,并将选取的文件回调回去。
self.webView.UIDelegate = self;
- (void)webView:(WKWebView*)webView runOpenPanelWithParameters:(WKOpenPanelParameters*)parameters initiatedByFrame:(WKFrameInfo*)frame completionHandler:(nonnull void (^)(NSArray<NSURL *> * _Nullable))completionHandler {
NSOpenPanel* panel = [NSOpenPanel openPanel];
panel.allowsMultipleSelection = parameters.allowsMultipleSelection;
panel.canChooseDirectories = parameters.allowsDirectories;
panel.allowedFileTypes = @[@"png", @"jpg", @"BMP", @"TIFF"];//图片类型
NSModalResponse result = [panel runModal];
if (result == NSModalResponseOK) {
completionHandler([panel URLs]);
}
else {
completionHandler(nil);
}
}
本文介绍如何在WKWebView的UIDelegate事件中实现文件选择对话框的功能,并将所选文件通过回调返回。具体实现包括设置允许选择的文件类型及处理用户的选择结果。
5706





