Java 使用截击上传到服务器时出错
我面临一个关于截击库的简单问题,我的应用程序由需要上传到db的图像和字段组成,所以当我尝试调试错误时,我发现存在nullpoint EEException。 我面临这个错误4天,我知道我需要一个解决方案。 谢谢 上传_Class.javaJava 使用截击上传到服务器时出错,java,android,database,Java,Android,Database,我面临一个关于截击库的简单问题,我的应用程序由需要上传到db的图像和字段组成,所以当我尝试调试错误时,我发现存在nullpoint EEException。 我面临这个错误4天,我知道我需要一个解决方案。 谢谢 上传_Class.java String Military_Number;// =getIntent().getExtras().getString("Military_Number"); //1 String N_ame;// =getIntent().getExtras().getS
String Military_Number;// =getIntent().getExtras().getString("Military_Number"); //1
String N_ame;// =getIntent().getExtras().getString("Name"); //2
String R_ank;//=getIntent().getExtras().getString("Rank"); //3
String D_date;// =getIntent().getExtras().getString("Date_P"); //4
String ee_mail;// =getIntent().getExtras().getString("E_mail"); //5
String P_hone;// = getIntent().getExtras().getString("phone"); //6
String Qualification_Academic; // = getIntent().getExtras().getString("Qualy_acd"); //7
String Major_Academic; // = getIntent().getExtras().getString("Major_acd"); //8
String Place_Of_Study_Academic; // = getIntent().getExtras().getString("PlaceOF_acd"); //9
String Appreciation_Academic; // = getIntent().getExtras().getString("Apprec_acd"); //10
String Grdaution_d_current_Academic;// = getIntent().getExtras().getString("Grad_acd"); //11
String major_editText_details_and_quality; //12
String place_of_study_editText_details_and_quality; //13
String dration_of_study_editText_details_and_quality; //14
String cost_of_stdy_editText_details_and_quality; // 15
String GtChoice_of_Degree; // 16
Button btn;
String img1 = "no image", img2 = "no image", img3 = "no image", img4 = "no image";
ByteArrayOutputStream baos;
final String insertUrl = "https://httpsalamnti.000webhostapp.com/test.php";
RequestQueue requestQueue;
ProgressDialog progressDialog;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.the_openion);
btn = (Button) findViewById(R.id.Upload_Btn);
requestQueue = Volley.newRequestQueue(this);
progressDialog = new ProgressDialog(this);
progressDialog.setMessage("Uploading. Please Wait.....");
progressDialog.setCanceledOnTouchOutside(false);
Military_Number = getIntent().getExtras().getString("M_number");
N_ame = getIntent().getExtras().getString("Name_P");
R_ank = getIntent().getExtras().getString("Rank_P");
D_date = getIntent().getExtras().getString("Date_P");
ee_mail = getIntent().getExtras().getString("Email_P");
P_hone = getIntent().getExtras().getString("P_hone_P");
Qualification_Academic = getIntent().getExtras().getString("Qualy_acd");
Major_Academic = getIntent().getExtras().getString("Major_acd");
Place_Of_Study_Academic = getIntent().getExtras().getString("PlaceOF_acd");
Appreciation_Academic = getIntent().getExtras().getString("Apprec_acd");
Grdaution_d_current_Academic = getIntent().getExtras().getString("Grad_acd");
major_editText_details_and_quality = getIntent().getExtras().getString("Pass_Major");
place_of_study_editText_details_and_quality = getIntent().getExtras().getString("Pass_Place");
dration_of_study_editText_details_and_quality = getIntent().getExtras().getString("Pass_Dration");
cost_of_stdy_editText_details_and_quality = getIntent().getExtras().getString("Pass_Cost");
GtChoice_of_Degree = getIntent().getExtras().getString("mykey");
Intent i = getIntent();
if(i.hasExtra("Images1"))
{
Uri imageUri = Uri.parse(i.getStringExtra("Images1"));
Bitmap image = null;
try {
image = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
} catch (IOException e) {
e.printStackTrace();
}
baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 30, baos);
byte[] b1 = baos.toByteArray();
img1 = Base64.encodeToString(b1, Base64.DEFAULT);
//Log.i("imageNew 1", img1.toString());
int maxLogSize = 1000;
for(int j = 0; j <= img1.length() / maxLogSize; j++) {
int start = j * maxLogSize;
int end = (j+1) * maxLogSize;
end = end > img1.length() ? img1.length() : end;
Log.i("imageNew 1", img1.substring(start, end));
}
}
if(i.hasExtra("Images2"))
{
Uri imageUri = Uri.parse(i.getStringExtra("Images2"));
Bitmap image = null;
try {
image = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
} catch (IOException e) {
e.printStackTrace();
}
baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 30, baos);
byte[] b1 = baos.toByteArray();
img2 = Base64.encodeToString(b1, Base64.DEFAULT);
// Log.i("imageNew 2", img2.toString());
int maxLogSize = 1000;
for(int j = 0; j <= img2.length() / maxLogSize; j++) {
int start = j * maxLogSize;
int end = (j+1) * maxLogSize;
end = end > img2.length() ? img2.length() : end;
Log.i("imageNew 2", img2.substring(start, end));
}
}
if(i.hasExtra("Images3"))
{
Uri imageUri = Uri.parse(i.getStringExtra("Images3"));
Bitmap image = null;
try {
image = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
} catch (IOException e) {
e.printStackTrace();
}
baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 30, baos);
byte[] b1 = baos.toByteArray();
img3 = Base64.encodeToString(b1, Base64.DEFAULT);
// Log.i("imageNew 3", img3.toString());
int maxLogSize = 1000;
for(int j = 0; j <= img3.length() / maxLogSize; j++) {
int start = j * maxLogSize;
int end = (j+1) * maxLogSize;
end = end > img3.length() ? img3.length() : end;
Log.i("imageNew 3", img3.substring(start, end));
}
}
if(i.hasExtra("Images4"))
{
Uri imageUri = Uri.parse(i.getStringExtra("Images4"));
Bitmap image = null;
try {
image = MediaStore.Images.Media.getBitmap(this.getContentResolver(), imageUri);
} catch (IOException e) {
e.printStackTrace();
}
baos = new ByteArrayOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 30, baos);
byte[] b1 = baos.toByteArray();
img4 = Base64.encodeToString(b1, Base64.DEFAULT);
int maxLogSize = 1000;
for(int j = 0; j <= img4.length() / maxLogSize; j++) {
int start = j * maxLogSize;
int end = (j+1) * maxLogSize;
end = end > img4.length() ? img4.length() : end;
Log.i("imageNew 4", img4.substring(start, end));
}
}
btn.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
progressDialog.show();
StringRequest request = new StringRequest(Request.Method.POST, insertUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response)
{
progressDialog.dismiss();
System.out.println(response.toString());
Toast.makeText(Upload_Class.this, "Uploaded successfully", Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error)
{
progressDialog.dismiss();
Log.i("Error ", error.toString());
Toast.makeText(Upload_Class.this, "Failed to upload " + error, Toast.LENGTH_SHORT).show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError
{
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("Malitary_Num" , Military_Number);
parameters.put("Name" , N_ame);
parameters.put("Rank" , R_ank);
parameters.put("Date_OB", D_date);
parameters.put("Phone_Num",P_hone);
parameters.put("E_mail" ,ee_mail);
parameters.put("Qualification" , Qualification_Academic);
parameters.put("Major" , Major_Academic);
parameters.put("P_ostudy" , Place_Of_Study_Academic);
parameters.put("Apprecation" , Appreciation_Academic);
parameters.put("D_OfG" , Grdaution_d_current_Academic);
parameters.put("C_choice" , GtChoice_of_Degree);
parameters.put("Req_Major" , major_editText_details_and_quality);
parameters.put("Req_Pos" , place_of_study_editText_details_and_quality);
parameters.put("Req_Duration" , dration_of_study_editText_details_and_quality);
parameters.put("Req_PriceS" , cost_of_stdy_editText_details_and_quality);
parameters.put("image1", img1);
parameters.put("image2", img2);
parameters.put("image3", img3);
parameters.put("image4", img4);
//
return parameters;
}
};
request.setRetryPolicy(new DefaultRetryPolicy(10000,DefaultRetryPolicy.DEFAULT_MAX_RETRIES,DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(request);
}
});
需要解决此问题的解决方案从所有图像的代码中删除这些行,这将在@MohamedHassanYousifBinyousi中起作用
int maxLogSize = 1000;
for(int j = 0; j <= img1.length() / maxLogSize; j++) {
int start = j * maxLogSize;
int end = (j+1) * maxLogSize;
end = end > img1.length() ? img1.length() : end;
Log.i("imageNew 1", img1.substring(start, end));
}
int maxLogSize=1000;
对于(int j=0;j img1.length()?img1.length():结束;
Log.i(“imageNew 1”,img1.子字符串(开始,结束));
}
int maxLogSize = 1000;
for(int j = 0; j <= img1.length() / maxLogSize; j++) {
int start = j * maxLogSize;
int end = (j+1) * maxLogSize;
end = end > img1.length() ? img1.length() : end;
Log.i("imageNew 1", img1.substring(start, end));
}