从URL下载不同格式的图像并将其存储在SD卡上

时间:2012-11-05 07:40:11

标签: android

我正在尝试从网址下载图像并将其存储在SD卡上,它适用于.jpg文件,但如果图片扩展名为.png或.jpeg则会出错,我想下载不同格式的图片同时..下面是我输入的代码..

 public void DownloadFromUrl(String DownloadUrl, String fileName) {

    try {
        File dir = new File("/sdcard/pluto");

        if (dir.exists() == false) {
            dir.mkdirs();
        }

        URL url = new URL(DownloadUrl); // you can write here any link
        File file = new File(dir, fileName);

        long startTime = System.currentTimeMillis();
        Log.d("DownloadManager", "download begining");
        Log.d("DownloadManager", "download url:" + url);
        Log.d("DownloadManager", "downloaded file name:" + fileName);

        /* Open a connection to that URL. */
        URLConnection ucon = url.openConnection();

        /*
         * Define InputStreams to read from the URLConnection.
         */
        InputStream is = ucon.getInputStream();
        BufferedInputStream bis = new BufferedInputStream(is);

        /*
         * Read bytes to the Buffer until there is nothing more to read(-1).
         */
        ByteArrayBuffer baf = new ByteArrayBuffer(5000);
        int current = 0;
        while ((current = bis.read()) != -1) {
            baf.append((byte) current);
        }

        /* Convert the Bytes read to a String. */
        FileOutputStream fos = new FileOutputStream(file);
        fos.write(baf.toByteArray());
        fos.flush();
        fos.close();
        Log.d("DownloadManager",
                "download ready in"
                        + ((System.currentTimeMillis() - startTime) / 1000)
                        + " sec");

    } catch (IOException e) {
        Log.d("DownloadManager", "Error: " + e);
    }

}

请帮帮我..

1 个答案:

答案 0 :(得分:0)

尝试这可能会有所帮助。

具有不同图像格式的相同帖子。

Image download code works for all image format, issues with PNG format rendering