我的应用程序具有WebView。在此WebView中,我要从照片库或相机上传图像。
我是使用WebChromeClient在Android上完成的。我不知道如何在iOS中使用Objective-C做到这一点。
答案 0 :(得分:0)
当用户点击webview上的“上传图片”按钮时,从webview发送ScriptMessage
到iOS,然后在iOS上在WKScriptMessageHandler
的{{1}}内捕获该消息,
WebKit
此处userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage)
包含message
中来自webview的脚本消息。然后根据消息打开相机或图库,并在message.body
中将照片作为本机应用程序保存到适当的API中。保存后,您也可以刷新Web视图。
Here是SO帖子,提供了更详尽的答案
答案 1 :(得分:0)
假设您的上传代码使用的是JavaScript,则可以将以下内容添加到HTML中
<label for="fileupload">Upload</label>
<input id="fileupload" accept="image/*" style="display:none;" type="file">
将js中的change事件添加到输入字段并上传文件。这是JQuery中的代码
$("#fileupload").on("change", function(value){
var value = $("#fileupload").get(0).files[0]
// clear file so if file is loaded a second time the change event is still triggered
$("#fileupload").val('')
// your code to upload the file
uploadFile(value)
})
您唯一需要做的就是在应用程序Info.plist文件中添加“隐私-相机使用说明”和“隐私-照片库使用说明”标志,以使您的应用程序可以访问相机和照相馆