Cómo reemplazar la imagen descargada con el mismo nombre de archivo en el almacenamiento del servidor?

Vera:

Cómo implementar la función en la que el usuario puede guardar una imagen desde el servidor. Aquí está mi código.

BasicImageDownloader imageDownloader = new BasicImageDownloader(new BasicImageDownloader.OnImageLoaderListener()
                                {
                                    @Override
                                    public void onError(BasicImageDownloader.ImageError error)
                                    {
                                        Toast.makeText(mContext, "Error code " + error.getErrorCode() + ": " + error.getMessage(), Toast.LENGTH_LONG).show();
                                    }

                                    @Override
                                    public void onProgressChange(int percent)
                                    {

                                    }

                                    @Override
                                    public void onComplete(Bitmap result)
                                    {
                                        final Bitmap.CompressFormat mFormat = Bitmap.CompressFormat.JPEG;
                                        final File myImageFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator
                                                + "Android" + File.separator
                                                +"data" +File.separator
                                                +"test" +File.separator
                                                + "profileimage" +File.separator
                                                + mPost.get(i).getUid() + "." + mFormat.name().toLowerCase());
                                        BasicImageDownloader.writeToDisk(myImageFile, result, new BasicImageDownloader.OnBitmapSaveListener() {
                                            @Override
                                            public void onBitmapSaved() {
                                                Toast.makeText(mContext, "Image saved as: " + myImageFile.getAbsolutePath(), Toast.LENGTH_LONG).show();
                                            }

                                            @Override
                                            public void onBitmapSaveError(BasicImageDownloader.ImageError error) {
                                                Toast.makeText(mContext, "Error code " + error.getErrorCode() + ": " +
                                                        error.getMessage(), Toast.LENGTH_LONG).show();
                                                error.printStackTrace();
                                            }


                                        }, mFormat, false);
                                    }
                                });
                                imageDownloader.download("link", true);

Funciona muy bien, pero siempre existe el mismo nombre en la ubicación de almacenamiento. Se lanza la excepción: "archivo ya existe es". Ahora el problema es cómo reemplazar la imagen descargada siempre que exista mismo archivo en la ubicación de almacenamiento?

somega:

He encontrado la clase BasicImageDownloader en la web. El último parámetro de writeToDisk es de sobreescritura. Así que si la ponemos a true esta manera:

BasicImageDownloader.writeToDisk(..., true);

debe sobrescribir el archivo.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=238906&siteId=1
Recomendado
Clasificación