Android 本地保存图像并在webview中显示

Android 本地保存图像并在webview中显示,android,webview,save,local,Android,Webview,Save,Local,我对这段简单的代码有困难。 我从web下载图像,并将其保存在本地: File mFile = new File(context.getFilesDir(), "a.png"); if(!mFile.exists()) { mFile.createNewFile(); } FileOutputStream fos = new FileOutputStream(mF

我对这段简单的代码有困难。 我从web下载图像,并将其保存在本地:

               File mFile = new File(context.getFilesDir(), "a.png");
               if(!mFile.exists()) {         mFile.createNewFile();                }
               FileOutputStream fos = new FileOutputStream(mFile);
               fos.write(baf.toByteArray());
               fos.flush();
               fos.close();
我尝试在ImageView上显示此图像,它正在工作。 现在我尝试在网络视图上显示保存图像。

  String data = "<body>" +"<img src=\"a.png\"/></body>";
  webview.loadDataWithBaseURL(getActivity().getFilesDir().toString(),data , "text/html", "utf-8",null);
String data=“”+”;
loadDataWithBaseURL(getActivity().getFileDir().toString(),数据,“text/html”,“utf-8”,null);
它不工作了,网络视图什么也没显示。我尝试使用png的webview,我把自己放在/assets中,它正在工作

我认为我的语法指向字符串数据中的文件是错误的,但我不确定

谢谢你的帮助

谢谢

Alex.

String base=Environment.getExternalStorageDirectory().getAbsolutePath().toString();
String imagePath=“file://“+base+”/a.png”;
字符串html=“”;
WebView.loadDataWithBaseURL(“file:///mnt/sdcard/Your 文件夹/”,html,“text/html”,“utf-8”,““”);
String base=Environment.getExternalStorageDirectory().getAbsolutePath().toString();
String imagePath=“file://“+base+”/a.png”;
字符串html=“”;
WebView.loadDataWithBaseURL(“file:///mnt/sdcard/Your 文件夹/”,html,“text/html”,“utf-8”,““”);

好的,在测试了很多不同的东西之后,我最终得到了这个工作代码

    WebView webview = (WebView) view.findViewById(R.id.imageView);      

    try {
        FileInputStream in = getActivity().openFileInput("image_behindfragment.png");
        BufferedInputStream buf = new BufferedInputStream(in);
        byte[] bitMapA= new byte[buf.available()];
        buf.read(bitMapA);
        Bitmap bM = BitmapFactory.decodeByteArray(bitMapA, 0, bitMapA.length);
        //imageview.setImageBitmap(bM);
        if (in != null) {
        in.close();
        }
        if (buf != null) {
        buf.close();

        String imgToString = Base64.encodeToString(bitMapA,Base64.DEFAULT);
        String imgTag = "<img src='data:image/png;base64," + imgToString               
                + "' align='left' bgcolor='ff0000'/>"; 
        webview.getSettings().setBuiltInZoomControls(true);

        webview.setInitialScale(30);
        WebSettings webSettings = webview.getSettings();
        webSettings.setUseWideViewPort(true);


        webview.loadData(imgTag, "text/html", "utf-8");

        }
    } catch (Exception e) {
        e.printStackTrace();
    }
WebView-WebView=(WebView)view.findviewbyd(R.id.imageView);
试一试{
FileInputStream in=getActivity().openFileInput(“image_behindfragment.png”);
BufferedInputStream buf=新的BufferedInputStream(in);
byte[]bitMapA=新字节[buf.available()];
buf.read(位图);
位图bM=BitmapFactory.decodeByteArray(bitMapA,0,bitMapA.length);
//设置图像位图(bM);
if(in!=null){
in.close();
}
如果(buf!=null){
buf.close();
字符串imgToString=Base64.encodeToString(bitMapA,Base64.DEFAULT);
字符串imgTag=“”;
webview.getSettings().setBuilTinZoomControl(true);
webview.setInitialScale(30);
WebSettings WebSettings=webview.getSettings();
webSettings.setUseWideViewPort(true);
loadData(imgTag,“text/html”,“utf-8”);
}
}捕获(例外e){
e、 printStackTrace();
}

好的,在测试了很多不同的东西之后,我最终得到了这个工作代码

    WebView webview = (WebView) view.findViewById(R.id.imageView);      

    try {
        FileInputStream in = getActivity().openFileInput("image_behindfragment.png");
        BufferedInputStream buf = new BufferedInputStream(in);
        byte[] bitMapA= new byte[buf.available()];
        buf.read(bitMapA);
        Bitmap bM = BitmapFactory.decodeByteArray(bitMapA, 0, bitMapA.length);
        //imageview.setImageBitmap(bM);
        if (in != null) {
        in.close();
        }
        if (buf != null) {
        buf.close();

        String imgToString = Base64.encodeToString(bitMapA,Base64.DEFAULT);
        String imgTag = "<img src='data:image/png;base64," + imgToString               
                + "' align='left' bgcolor='ff0000'/>"; 
        webview.getSettings().setBuiltInZoomControls(true);

        webview.setInitialScale(30);
        WebSettings webSettings = webview.getSettings();
        webSettings.setUseWideViewPort(true);


        webview.loadData(imgTag, "text/html", "utf-8");

        }
    } catch (Exception e) {
        e.printStackTrace();
    }
WebView-WebView=(WebView)view.findviewbyd(R.id.imageView);
试一试{
FileInputStream in=getActivity().openFileInput(“image_behindfragment.png”);
BufferedInputStream buf=新的BufferedInputStream(in);
byte[]bitMapA=新字节[buf.available()];
buf.read(位图);
位图bM=BitmapFactory.decodeByteArray(bitMapA,0,bitMapA.length);
//设置图像位图(bM);
if(in!=null){
in.close();
}
如果(buf!=null){
buf.close();
字符串imgToString=Base64.encodeToString(bitMapA,Base64.DEFAULT);
字符串imgTag=“”;
webview.getSettings().setBuilTinZoomControl(true);
webview.setInitialScale(30);
WebSettings WebSettings=webview.getSettings();
webSettings.setUseWideViewPort(true);
loadData(imgTag,“text/html”,“utf-8”);
}
}捕获(例外e){
e、 printStackTrace();
}