0
我正嘗試使用Volley
StringRequest
將圖像上傳到我的Imgur帳戶。我不知道如何處理響應,所以會發生什麼,因爲它沒有收到Imgur的迴應,所以會重新上傳。該圖像最終被上傳了幾次,直到TimeoutError
被拋出。我怎麼能確保這不會發生,因爲我無法檢測到從Imgur服務器返回的響應?
這裏是我使用它變換爲Base64後到圖像上載方法:
使用Volley將圖像上傳到IMGUR返回TimeoutError
public void uploadImage(View view) {
Log.i(TAG,"start upload");
StringRequest uploadRequest = new StringRequest(Request.Method.POST, AppConst.IMGUR_ADD_IMG, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d(TAG, "finished image upload");
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, error.toString());
Log.e(TAG,"finish/error upload");
}
}) {
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
headers.put("Authorization", "Bearer " + token);
return headers;
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<>();
params.put(AppConst.IMGUR_TAG_IMAGE, encodeImage(selectedImg));
params.put(AppConst.IMGUR_TAG_TITLE, "title");
params.put(AppConst.IMGUR_TAG_NAME, String.valueOf(System.currentTimeMillis()));
return params;
}
};
AppController.getInstance().addToRequestQueue(uploadRequest);
}
我這樣做已經,但它仍然上傳圖像不止一次 – Manny265
你的MAX_RETRIES設置爲0,更MAX_RETRIES?請參閱編輯。 – Submersed
根據需要將重試設置爲零似乎只上傳一次圖像,但TimeOut和SSL錯誤仍顯示出來 – Manny265