私は画像ビューに保存した画像を内部ストレージに保存しました。次に、imageviewからサーバーに画像をアップロードします。しかし、アップロード中にこのVolleyエラーが発生しています。私は自分のコードで何が問題なのか分かりません。私はこのtutorialに指示されたとおりに正確に行いました。それでも私はエラーが発生しています。私は自分のコードに間違いがあるかどうか知りたいです。画像をアップロード中のcom.android.volley.ServerError
public class NewActivity extends AppCompatActivity{
Button save, upload;
ImageView image;
String encodedImage;
private static final String file_path = Environment.getExternalStorageDirectory().getAbsolutePath()+"/UbookSpa";
private static final String IMGUPLOAD = "http://example.com/android/showcustimage";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);
save = (Button)findViewById(R.id.save);
upload = (Button)findViewById(R.id.up);
image = (ImageView)findViewById(R.id.image);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
loadImage();
}
});
upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
imageupload();
}
});
}
private void imageupload() {
final String imagenew = getStringImage();
StringRequest stringRequest = new StringRequest(Request.Method.POST, IMGUPLOAD,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jObj = new JSONObject(response);
if(jObj.getString("status").equals("1")){
Toast.makeText(NewActivity.this, "Its all good", Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
// JSON error
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Json error: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(), "VolleyError:" + "\t" + error.toString(), Toast.LENGTH_LONG).show();
}
}) {
@Override
protected Map<String, String> getParams() {
// String image = getStringImage();
Map<String, String> params = new HashMap<String, String>();
params.put("userimage", imagenew);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(stringRequest);
}
public String getStringImage(){
image.buildDrawingCache();
Bitmap bmap = image.getDrawingCache();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] imageBytes = baos.toByteArray();
encodedImage = Base64.encodeToString(imageBytes, Base64.DEFAULT);
return encodedImage;
}
private void loadImage(){
File directory = new File(file_path);
File file = new File(directory, "myimage.jpg");
try {
FileInputStream fis = new FileInputStream(file);
Bitmap bmap = BitmapFactory.decodeStream(fis);
image.setImageBitmap(bmap);
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
このエラーは何ですか? show logcat – Nitesh
そのBasicNetwork.performRequest:私のAPIのための予期しない応答コード500。 –
間違ったURLを使用しているため、これは起こっていると思います。あなたが間違ったURLを提供すると、Volleyは500を返します。 – Nitesh