【问题标题】:Add multiple pictures into firebase [closed]将多张图片添加到 Firebase [关闭]
【发布时间】:2020-08-12 00:48:47
【问题描述】:

我知道这个问题被问了很多。但从字面上看,没有一个答案对我有用。 我的问题是图像似乎已保存但在firebase上但不幸的是它们的名称相同,因此firebase删除了旧的并插入了一个新的。我已尽我所能更改名称,但我找不到方法。

这是我的上传代码!

private void Fileuploader() throws FileNotFoundException {
        String imageid;
        imageid = arabic.getText().toString()+"-"+System.currentTimeMillis()+"."+"jpg";
        String id = getIntent().getStringExtra("storeid");
        member.setImageid(imageid);
        reference.child(id).child(arname).setValue(member);
        progress.showProgress(profuctadd.this,"Loading...",false);
        DatabaseHelper databaseHelper = new DatabaseHelper(profuctadd.this);
        Cursor getimage = databaseHelper.GetPath();
        while (getimage.moveToNext()){
            Bitmap bm = BitmapFactory.decodeFile(getimage.getString(0));
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            bm.compress(Bitmap.CompressFormat.JPEG, 35, out);
            byte[] data = out.toByteArray();
            System.out.println("IMAGES UPLOADEDDDD: "+ data);
            StorageReference Ref = mStorageRef.child(imageid);

            Ref.putBytes(data)
                    .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                        @Override
                        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
                            // Get a URL to the uploaded content
                            //Uri downloadUrl = taskSnapshot.getDownloadUrl();
                            //Toast.makeText(profuctadd.this,"Image uploaded",Toast.LENGTH_LONG).show();
                            progress.hideProgress();
                            Intent intent = new Intent(profuctadd.this,showProducts.class);
                            intent.putExtra("spec",getIntent().getStringExtra("spec"));
                            intent.putExtra("storeid",getIntent().getStringExtra("storeid"));
                            startActivity(intent);
                            DatabaseHelper mDatabaseHelper = new DatabaseHelper(profuctadd.this);
                            Cursor cursor2 = mDatabaseHelper.DeleteDataOfTableImagesAr();
                            cursor2.moveToNext();
                        }
                    })
                    .addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception exception) {
                            // Handle unsuccessful uploads
                            // ...
                            Toast.makeText(profuctadd.this,"Failed",Toast.LENGTH_LONG).show();
                        }
                    });

        }





    }

有什么想法吗?

【问题讨论】:

    标签: java android firebase firebase-storage


    【解决方案1】:

    您只对所有图像计算一次imageid,因此每张图像都将具有相同的名称。您需要为每个图像计算一个新值,并且可能还需要输入一个计数器以确保它们都是唯一的:

    private void Fileuploader() throws FileNotFoundException {
        String id = getIntent().getStringExtra("storeid");
        member.setImageid(imageid);
        reference.child(id).child(arname).setValue(member);
        progress.showProgress(profuctadd.this,"Loading...",false);
        DatabaseHelper databaseHelper = new DatabaseHelper(profuctadd.this);
        Cursor getimage = databaseHelper.GetPath();
        int count = 0;
        while (getimage.moveToNext()){
            Bitmap bm = BitmapFactory.decodeFile(getimage.getString(0));
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            bm.compress(Bitmap.CompressFormat.JPEG, 35, out);
            byte[] data = out.toByteArray();
            System.out.println("IMAGES UPLOADEDDDD: "+ data);
            StorageReference Ref = mStorageRef.child(imageid);
    
            String imageid = arabic.getText().toString()+"-"+System.currentTimeMillis()+"_"+(count++)+"."+"jpg";
            Ref.putBytes(data)
            ...
    

    【讨论】:

      猜你喜欢
      • 2020-12-05
      • 2017-09-18
      • 2020-06-24
      • 2018-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多