android - 安卓開(kāi)發(fā)webview無(wú)法運(yùn)行<input type="file"怎么破?
問(wèn)題描述
求解!安卓webview無(wú)法運(yùn)行<input type='file' name='file' /> 標(biāo)簽!HTML完整代碼:<html><body>
<form action='upload_file.php' method='post'enctype='multipart/form-data'><label for='file'>Filename:</label><input type='file' name='file' /> <input type='submit' name='submit' value='Submit' /></form>
</body></html>在線等!!!
問(wèn)題解答
回答1:這個(gè)已經(jīng)有人問(wèn)過(guò)了,我已經(jīng)回答過(guò)了,親測(cè)完全沒(méi)問(wèn)題。https://segmentfault.com/q/1010000005980836
回答2:Github上有個(gè)Os-FileUp項(xiàng)目提供了一些方法.
webView.setWebChromeClient(new WebChromeClient(){ //For Android 3.0+ public void openFileChooser(ValueCallback<Uri> uploadMsg){mUM = uploadMsg;Intent i = new Intent(Intent.ACTION_GET_CONTENT);i.addCategory(Intent.CATEGORY_OPENABLE);i.setType('image/*');MainActivity.this.startActivityForResult(Intent.createChooser(i,'File Chooser'), FCR); } // For Android 3.0+, above method not supported in some android 3+ versions, in such case we use this public void openFileChooser(ValueCallback uploadMsg, String acceptType){mUM = uploadMsg;Intent i = new Intent(Intent.ACTION_GET_CONTENT);i.addCategory(Intent.CATEGORY_OPENABLE);i.setType('*/*');MainActivity.this.startActivityForResult(Intent.createChooser(i, 'File Browser'),FCR); } //For Android 4.1+ public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){mUM = uploadMsg;Intent i = new Intent(Intent.ACTION_GET_CONTENT);i.addCategory(Intent.CATEGORY_OPENABLE);i.setType('image/*');MainActivity.this.startActivityForResult(Intent.createChooser(i, 'File Chooser'), MainActivity.FCR); } //For Android 5.0+ public boolean onShowFileChooser( WebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams){if(mUMA != null){ mUMA.onReceiveValue(null);}mUMA = filePathCallback;Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);if(takePictureIntent.resolveActivity(MainActivity.this.getPackageManager()) != null){ File photoFile = null; try{photoFile = createImageFile();takePictureIntent.putExtra('PhotoPath', mCM); }catch(IOException ex){Log.e(TAG, 'Image file creation failed', ex); } if(photoFile != null){mCM = 'file:' + photoFile.getAbsolutePath();takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile)); }else{takePictureIntent = null; }}Intent contentSelectionIntent = new Intent(Intent.ACTION_GET_CONTENT);contentSelectionIntent.addCategory(Intent.CATEGORY_OPENABLE);contentSelectionIntent.setType('image/*');Intent[] intentArray;if(takePictureIntent != null){ intentArray = new Intent[]{takePictureIntent};}else{ intentArray = new Intent[0];}Intent chooserIntent = new Intent(Intent.ACTION_CHOOSER);chooserIntent.putExtra(Intent.EXTRA_INTENT, contentSelectionIntent);chooserIntent.putExtra(Intent.EXTRA_TITLE, 'Image Chooser');chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentArray);startActivityForResult(chooserIntent, FCR);return true; }});}
相關(guān)文章:
1. mysql - 在不允許改動(dòng)數(shù)據(jù)表的情況下,如何優(yōu)化以varchar格式存儲(chǔ)的時(shí)間的比較?2. javascript - 網(wǎng)頁(yè)打印頁(yè)另存為pdf的代碼一個(gè)問(wèn)題3. vim - docker中新的ubuntu12.04鏡像,運(yùn)行vi提示,找不到命名.4. docker網(wǎng)絡(luò)端口映射,沒(méi)有方便點(diǎn)的操作方法么?5. css - chrome下a標(biāo)簽嵌套img 顯示會(huì)多個(gè)小箭頭?6. java中返回一個(gè)對(duì)象,和輸出對(duì)像的值,意義在哪兒7. css3 - 純css實(shí)現(xiàn)點(diǎn)擊特效8. javascript - 關(guān)于apply()與call()的問(wèn)題9. 推薦好用mysql管理工具?for mac和pc10. javascript - 有適合開(kāi)發(fā)手機(jī)端Html5網(wǎng)頁(yè)小游戲的前端框架嗎?
