Android-下档图片

时间:2019-06-24 08:04:19

标签: android image ftp ftp4j

我正在尝试从ftp下载图像到android并在imageview中显示它,但是我在logcat中收到此错误:

D/skia: ------ png error bad adaptive filter value
D/skia: --- codec->getAndroidPixels() failed.

我首先尝试使用commons-net库,然后尝试使用ftp4j库从ftp下载图像。我使用的代码如下:

这是我所谓的图像下载方法:


mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
            @Override
            public boolean onMarkerClick(final Marker marker) {
if(marker.getTitle().equals("")){
                    iw.setVisibility(View.GONE);
                }else{
                    try {
                        String url = markerRecordHashMap.get(marker).getUrl();
                        task = new DownloadImageTask().execute(url);

                        iw.setVisibility(View.VISIBLE);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
     return false;
            }
        });

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {

        protected Bitmap doInBackground(String... urls) {
            String url = urls[0];
            Bitmap targetImage = null;
            try {
                File f = FTPConnector.getImage(getApplicationContext(), url);
                targetImage = BitmapFactory.decodeFile(f.getAbsolutePath());
            } catch (Exception e) {
                Log.e("Error", e.getMessage());
                e.printStackTrace();
            }
            return targetImage;
        }

        protected void onPostExecute(Bitmap result) {
            ImageView img = (ImageView) findViewById(R.id.targetImg);
            img.setImageBitmap(result);
        }
    }


这是从ftp部分下载的图像:


public class FTPConnector {

    public static File getImage(Context context, String imgPath) throws FTPIllegalReplyException, FTPException, IOException, FTPDataTransferException, FTPAbortedException {

        FTPClient mFTPClient = new FTPClient();

        mFTPClient.connect(GlobalVars.ftpBaseURL, GlobalVars.ftpPort);

        mFTPClient.login("testuser", "123456");

        mFTPClient.setType(FTPClient.TYPE_BINARY);

        File file = new File(context.getExternalFilesDir(null), "test1.png");

        mFTPClient.download("test1.png", file);

        mFTPClient.disconnect(false);

        return file;
    }
}

当我运行上面的代码时,除了这些错误外,我什么也没有得到:

2019-06-24 07:42:32.117 12522-13934/com.xxx.yyy D/skia: ------ png error bad adaptive filter value
2019-06-24 07:42:32.117 12522-13934/com.xxx.yyy D/skia: --- codec->getAndroidPixels() failed.

0 个答案:

没有答案