gpt4 book ai didi

java - 如何将图像从 Imageview 发送到服务器

转载 作者:行者123 更新时间:2023-12-01 09:58:54 25 4
gpt4 key购买 nike

我正在制作注册表单,其中包含许多字段以及个人资料图片。我已将除图像之外的所有内容都转换为字符串。我无法理解当有人单击“注册”按钮时,如何将图像与其他字符串值一起发送到服务器。

以下是我的源代码供您细读:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;


public class SignUp extends Activity {
ImageView imageView;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.signup);


imageView = (ImageView) findViewById(R.id.imagecontact);
}
public void onGalleryClick(View view){
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent,ACCESSIBILITY_SERVICE),1);
}
@Override
public void onActivityResult(int requestCode,int resultCode,Intent data){
if(resultCode == RESULT_OK){
if(requestCode == 1)
imageView.setImageURI(data.getData());
}
}


public void onSignUpClick(View view) {
if (view.getId() == R.id.BT_signup) {
EditText name = (EditText) findViewById(R.id.ED_bakeryname);
EditText maail = (EditText) findViewById(R.id.ED_emailaddress);
EditText number = (EditText) findViewById(R.id.ED_mobilenumber);
EditText address = (EditText) findViewById(R.id.ED_postaladd);
EditText pass1 = (EditText) findViewById(R.id.ED_pass1);
EditText pass2 = (EditText) findViewById(R.id.ED_pass2);
ImageView imageView1 =(ImageView)view.findViewById(R.id.imagecontact);


String namestring = name.getText().toString();
String mailstring = name.getText().toString();
String numberstring = name.getText().toString();
String addressstring = name.getText().toString();
String pass1string = name.getText().toString();
String pass2string = name.getText().toString();


if (!pass1string.equals(pass2string)) {
//popup msg

Toast pword = Toast.makeText(SignUp.this, "Passwords don't match!", Toast.LENGTH_SHORT);
pword.show();
}
}

}


}

最佳答案

我假设您正在尝试将图像转换为 base64 字符串。

从您的代码中,您可以首先从 imageView 获取图像:

BitmapDrawable drawable = (BitmapDrawable) imageView1.getDrawable();
Bitmap bitmap = drawable.getBitmap();

然后将位图转换为字节数组:

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();  
bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();

然后就可以得到字符串:

String image_byte=String.valueOf(byte[] byteArray);

然后,您当然可以像其他细节的其余部分一样传递字符串。然后,您可以从服务器获取字符串并将其解码为 imageView。

关于java - 如何将图像从 Imageview 发送到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36965053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com