當前位置:首頁 » 安卓系統 » androidwebview上傳

androidwebview上傳

發布時間: 2022-09-03 12:00:57

A. Android webview 上傳圖片為什麼 application/octet-stream

首先得找出問題的原因,你不妨做以下測試,看下問題是處在那端

  • 用其他的軟體測試Server看是不是伺服器配置的事

  • 你寫的Webview,Mainfest賦權是否正確

B. 怎樣讓android4.4的webview支持文件上傳

給你代碼參考下:
public class MyWb extends Activity {
/** Called when the activity is first created. */

WebView web;
ProgressBar progressBar;

private ValueCallback<Uri> mUploadMessage;
private final static int FILECHOOSER_RESULTCODE=1;

@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent intent) {
if(requestCode==FILECHOOSER_RESULTCODE)
{
if (null == mUploadMessage) return;
Uri result = intent == null || resultCode != RESULT_OK ? null
: intent.getData();
mUploadMessage.onReceiveValue(result);
mUploadMessage = null;
}
}

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

web = (WebView) findViewById(R.id.webview01);
progressBar = (ProgressBar) findViewById(R.id.progressBar1);

web = new WebView(this);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl("http://www.script-tutorials.com/demos/199/index.html");
web.setWebViewClient(new myWebClient());
web.setWebChromeClient(new WebChromeClient()
{
//The undocumented magic method override
//Eclipse will swear at you if you try to put @Override here
// For Android 3.0+
public void openFileChooser(ValueCallback<Uri> uploadMsg) {

mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MyWb.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE);

}

// For Android 3.0+
public void openFileChooser( ValueCallback uploadMsg, String acceptType ) {
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("*/*");
MyWb.this.startActivityForResult(
Intent.createChooser(i, "File Browser"),
FILECHOOSER_RESULTCODE);
}

//For Android 4.1
public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){
mUploadMessage = uploadMsg;
Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.addCategory(Intent.CATEGORY_OPENABLE);
i.setType("image/*");
MyWb.this.startActivityForResult( Intent.createChooser( i, "File Chooser" ), MyWb.FILECHOOSER_RESULTCODE );

}

});

setContentView(web);

}

public class myWebClient extends WebViewClient
{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// TODO Auto-generated method stub

view.loadUrl(url);
return true;

}

@Override
public void onPageFinished(WebView view, String url) {
// TODO Auto-generated method stub
super.onPageFinished(view, url);

progressBar.setVisibility(View.GONE);
}
}

//flipscreen not loading again
@Override
public void onConfigurationChanged(Configuration newConfig){
super.onConfigurationChanged(newConfig);
}

// To handle "Back" key press event for WebView to go back to previous screen.
/*@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) {
web.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}*/

C. 怎樣讓android4.4的webview支持文件上傳

給你代碼參考下: public class MyWb extends Activity { /** Called when the activity is first created. */ WebView web; ProgressBar progressBar; private ValueCallback<Uri> mUploadMessage; private final static int FILECHOOSER_RESULTCODE=1; @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if(requestCode==FILECHOOSER_RESULTCODE) { if (null == mUploadMessage) return; Uri result = intent == null resultCode != RESULT_OK ? null : intent.getData(); mUploadMessage.onReceiveValue(result); mUploadMessage = null; } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); web = (WebView) findViewById(R.id.webview01); progressBar = (ProgressBar) findViewById(R.id.progressBar1); web = new WebView(this); web.getSettings().setJavaScriptEnabled(true); web.loadUrl("/demos/199/index.html"); web.setWebViewClient(new myWebClient()); web.setWebChromeClient(new WebChromeClient() { //The undocumented magic method override //Eclipse will swear at you if you try to put @Override here // For Android 3.0+ public void openFileChooser(ValueCallback<Uri> uploadMsg) { mUploadMessage = uploadMsg; Intent i = new Intent(Intent.ACTION_GET_CONTENT); i.addCategory(Intent.CATEGORY_OPENABLE); i.setType("image/*"); MyWb.this.startActivityForResult(Intent.createChooser(i,"File Chooser"), FILECHOOSER_RESULTCODE); } // For Android 3.0+ public void openFileChooser( ValueCallback uploadMsg, String acceptType ) { mUploadMessage = uploadMsg; Intent i = new Intent(Intent.ACTION_GET_CONTENT); i.addCategory(Intent.CATEGORY_OPENABLE); i.setType("*/*"); MyWb.this.startActivityForResult( Intent.createChooser(i, "File Browser"), FILECHOOSER_RESULTCODE); } //For Android 4.1 public void openFileChooser(ValueCallback<Uri> uploadMsg, String acceptType, String capture){ mUploadMessage = uploadMsg; Intent i = new Intent(Intent.ACTION_GET_CONTENT); i.addCategory(Intent.CATEGORY_OPENABLE); i.setType("image/*"); MyWb.this.startActivityForResult( Intent.createChooser( i, "File Chooser" ), MyWb.FILECHOOSER_RESULTCODE ); } }); setContentView(web); } public class myWebClient extends WebViewClient { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub view.loadUrl(url); return true; } @Override public void onPageFinished(WebView view, String url) { // TODO Auto-generated method stub super.onPageFinished(view, url); progressBar.setVisibility(View.GONE); } } //flipscreen not loading again @Override public void onConfigurationChanged(Configuration newConfig){ super.onConfigurationChanged(newConfig); } // To handle "Back" key press event for WebView to go back to previous screen. /*@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) { web.goBack(); return true; } return super.onKeyDown(keyCode, event); }*/

D. 怎樣讓android4.4的webview支持文件上傳

你好!
1、這個問題解決方案是這樣的 在容有WebView的Activity類中,重寫onActivityResult方法 在這個方法里通過intent.getData() 獲取點擊圖片的Uri,通過網路搜的各種方法 把這個Uri轉換成文件的物理路徑,生成file類型的Uri 在用ValueCallBack對象調用onReceiveValue方法就Ok了
2、出現這個問題大多都是因為路徑不對, 把你的圖片放進你要上傳的那個文件裡面,
在從新增加這個張圖片就行了 上傳到空間有時會丟失銜接或圖片,你可以把丟失的那個HTML文件在空間刪了在從新上傳就可以了,記得把圖片也一同上傳 檢查一下路徑 。

E. Android webview調取安卓原生相機和相冊上傳圖片

適配安卓10方式:
返回URI即可

手機上載入webview,網頁上上傳圖片調用原生相機和相冊上傳圖片

先設置好webview的載入以及websetting,這里就不多說了。

主要是setWebChromeClient方法的實現

這個方法分幾個版本的適配3.0以下的設備,3.0到4.1的設備,4.1到5.0的設備,以及5.0以上的設備,每個方法參數不一樣適配時請注意。5.0以下的參數都是 ValueCallback<Uri> ,以上的設備需要 ValueCallback<Uri[]> ,回傳數據的時候也是對應的不要弄錯了。

最後的效果如下:

F. 怎樣讓android4.4的webview支持文件上傳

您好,很高興能幫助您
出現這個問題大多都是因為路徑不對
把你的圖片放進你要上傳的那個文件裡面,
在從新增加這個張圖片就行了
上傳到空間有時會丟失銜接或圖片,你可以把丟失的那個HTML文件在空間刪了在從新上傳就可以了,記得把圖片也一同上傳
檢查一下路徑
你建站...
你的採納是我前進的動力,
記得好評和採納,答題不易,互相幫助,

G. 怎樣讓android4.4的webview支持文件上傳

android4.4的webview無法支持文件上傳,因為openFileChooser()方法本身就不是公共的api。
1、WebKit是Mac OS X v10.3及以上版本所包含的軟體框架(對v10.2.7及以上版本也可通過軟體更新獲取)。 同時,WebKit也是Mac OS X的Safari網頁瀏覽器的基礎。WebKit是一個開源項目,主要由KDE的KHTML修改而來並且包含了一些來自蘋果公司的一些組件。
2、傳統上,WebKit包含一個網頁引擎WebCore和一個腳本引擎JavaScriptCore,它們分別對應的是KDE的KHTML和KJS。不過,
3、隨著JavaScript引擎的獨立性越來越強,現在WebKit和WebCore已經基本上混用不分。

H. android 使用WebView上傳文件 混淆打包之後就無法調用openFileChooser這個方法了

android針對不同的版本有不同方法,上傳文件的話要重寫newsWeb.setWebChromeClient中的openFileChooser()方法.

熱點內容
資料庫應用與信息管理 發布:2025-01-12 01:26:06 瀏覽:267
esxi管理存儲伺服器 發布:2025-01-12 01:25:59 瀏覽:765
在烏班圖搭建web伺服器 發布:2025-01-12 01:25:24 瀏覽:388
浙江省開票軟體升級版伺服器地址 發布:2025-01-12 01:15:57 瀏覽:202
蘋果電腦怎麼進入電腦伺服器 發布:2025-01-12 01:08:49 瀏覽:730
安卓平板怎麼設置隔空刷抖音 發布:2025-01-12 01:08:12 瀏覽:391
手機設備存儲是什麼 發布:2025-01-12 01:03:45 瀏覽:904
linux校園網 發布:2025-01-12 00:58:54 瀏覽:407
時序插值演算法 發布:2025-01-12 00:58:25 瀏覽:812
編程的射燈 發布:2025-01-12 00:58:24 瀏覽:405