当前位置: 首页 > 知识库问答 >
问题:

如何上传第二张图片,先生,它只复制第一张图片中的图片。我尝试添加uploader.put文件,但它将它们分开了*Android Studio

柳浩大
2023-03-14

**这是突出显示的代码**

位图和Uri

图像选择器

OnActivityResult

正在上载到firebase 1

上传到2号火力基地

共有1个答案

何玉韵
2023-03-14

**位图和Uri**

private Bitmap bitmap,bitmap1;
 Uri filepath,filepath1;
//private static final int PICK_IMAGE_REQUEST = 1;
private final int IMG_GALLERY = 1;
private final int IMG_GALLERY2 = 2;

**图像选择器**

ID = findViewById(R.id.validId);
    bID = findViewById(R.id.btnValidId);
    bID.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ImagePicker.Companion.with(descfrag.this)
                    .crop()                 //Crop image(Optional), Check Customization for more option
                    .compress(1024)         //Final image size will be less than 1 MB(Optional)
                    .maxResultSize(1080, 1080)  //Final image resolution will be less than 1080 x 1080(Optional)
                    .start(IMG_GALLERY);
        }
    });

    bPPR = findViewById(R.id.btnPaypalRequest);
    bPPR.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ImagePicker.Companion.with(descfrag.this)
                    .crop()                 //Crop image(Optional), Check Customization for more option
                    .compress(1024)         //Final image size will be less than 1 MB(Optional)
                    .maxResultSize(1080, 1080)  //Final image resolution will be less than 1080 x 1080(Optional)
                    .start(IMG_GALLERY2);
        }
    });

**活动结果**

protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode== IMG_GALLERY  && resultCode==RESULT_OK)
    {
        filepath=data.getData();
        try{
            InputStream inputStream=getContentResolver().openInputStream(filepath);
            bitmap= BitmapFactory.decodeStream(inputStream);
            ID.setImageBitmap(bitmap);
        }catch (Exception ex)
        {

        }
    }else if (requestCode== IMG_GALLERY2 && resultCode==RESULT_OK){
        filepath1=data.getData();
        try {
            InputStream inputStream1 = getContentResolver().openInputStream(filepath1);
            bitmap1 = BitmapFactory.decodeStream(inputStream1);
            PPR.setImageBitmap(bitmap1);

        }catch (Exception ex1){

        }
    }
    super.onActivityResult(requestCode, resultCode, data);

}

**保存到Firebase在这里**

       ProgressDialog dialog = new ProgressDialog(this);
    dialog.setTitle("Sending Request");
    dialog.show();

    FirebaseStorage storage = FirebaseStorage.getInstance();
    StorageReference uploader = storage.getReference("RequestImage"+ new Random().nextInt(50));

    uploader.putFile(filepath)
            .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onSuccess(@NonNull UploadTask.TaskSnapshot taskSnapshot) {
                    uploader.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                        @Override
                        public void onSuccess(@NonNull Uri uri) {
                            dialog.dismiss();
                            FirebaseDatabase fdb = FirebaseDatabase.getInstance();
                            DatabaseReference dbf = fdb.getReference("RentRequest");
                            HashMap<String,String> Rrequest = new HashMap<>();
                            Rrequest.put("RentRequest",xpdate);

                            RentRequest obj = new RentRequest(zbrand.getText().toString(),zname.getText().toString()
                                    ,zprice.getText().toString(),zmodel.getText().toString(),zperson.getText().toString()
                                    ,zdoor.getText().toString(),zac.getText().toString(),ztrans.getText().toString()
                                    ,uri.toString(),uri.toString(),npdate.getText().toString(),nrdate.getText().toString()
                                        ,ndays.getText().toString(),ntotalprice.getText().toString(),ndownpaymemnt.getText().toString());
                            dbf.push().setValue(obj);

                            nrdate.setText("");
                            npdate.setText("");
                            ndays.setText("");
                            ntotalprice.setText("");
                            ndownpaymemnt.setText("");
                            ID.setImageResource(R.drawable.id);
                            PPR.setImageResource(R.drawable.paypal_l);
                            new AlertDialog.Builder(descfrag.this)
                                    .setIcon(R.drawable.request_l)
                                    .setTitle("Your Request have been Submitted")
                                    .setPositiveButton("Visit Request Form", new DialogInterface.OnClickListener() {
                                        @Override
                                        public void onClick(DialogInterface dialog, int which) {
                                            startActivity(new Intent(getApplicationContext(),MainActivity3.class));
                                        }
                                    }).setNegativeButton("Ok", new DialogInterface.OnClickListener() {
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    dialog.dismiss();
                                }
                            }).show();
                        }
                    });
                }
            })
            .addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onProgress(@NonNull UploadTask.TaskSnapshot snapshot) {
                    float percent = (100*snapshot.getBytesTransferred())/snapshot.getTotalByteCount();
                    dialog.setMessage("Please Wait :" +(int)percent+" %");
                }
            });
 类似资料:
  • 在显示添加到css类主题之前,我将如何过滤WordPress中的帖子或第一张图片。我看到我可以在我的functions.php中使用API中的add_filter()函数,但是我在获取每个帖子的第一个图像时遇到了问题。

  • 下面的错误 第一张照片出来了。当我滑动屏幕,第二张图片出来,然后崩溃。 ImageView.SetImageResource(img[position]);行显示错误。

  • 问题内容: 我也曾在SO和其他教程中发表过很多文章,但是我没有得到任何最新的官方或其他文章,这些文章不包含使用Volley上传多个图像的弃用代码。我知道Apache HTTP Client删除并在新的android M中相关,因此建议改用下面的方法。 那么,有谁能帮我完成新的不推荐使用的少排球类上载多张图片的工作? 问题答案: 您可以从此处使用volley的最新版本。这是一个非官方的镜像,带有一些

  • 问题内容: 在java中如何加载一张图片? 问题答案: 首先,更改此行: 对此: 可以在此线程上找到有关这两种方法之间的区别的更多信息 - 加载资源的不同方法 对于Eclipse: 如何将图像添加到项目中的资源文件夹 对于NetBeans: 在Java GUI应用程序中处理图像 如何将图像添加到项目 对于IntelliJ IDEA: 右键单击项目的src文件夹。选择新建->包 在“ 新建软件包对话

  • 问题内容: 我是在项目中使用代码点火器的新用户,上载多个文件时遇到一个问题,但最后一个仅插入到所有图像“三个图像”字段中。 我的控制器是: 我的观点是: 请帮助如何插入3张图像。 我的资料库 问题答案: HTML: PHP的:

  • 我在SO和其他tuts中看了很多帖子,但我无法得到任何最新的官方或其他帖子,其中不包含任何关于使用排球上传多个图片的不推荐代码。我了解了Apache HTTP客户端删除和新android M中的相关内容,所以更喜欢使用下面的内容。