Android VolleyPlus - SimpleMultiPartRequest 问题。我无法发送文件和 return post 参数

Android VolleyPlus - SimpleMultiPartRequest issue. I can't send files and return post params

我正在使用 VolleyPlus,但我无法发送文件参数 (addFile) 或 post(addMultipartParam):

        Response.Listener successListener = new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            Log.i("teste","SUCCESS: " + response);
        }
    };

    Response.ErrorListener errorListener = new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError volleyError) {
            Log.i("teste", "ERROR: " + volleyError);
        }
    };

    SimpleMultiPartRequest request = new SimpleMultiPartRequest(
            Request.Method.POST, url, successListener,
            errorListener) {
        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<String, String>();
            headers.put("Accept", "application/json");
            // headers.put("Accept", "multipart/form-data");
            // headers.put("Content-Type", "application/json");
             headers.put("Content-Type", "text/plain");
            //headers.put("Content-Length", "302");
            headers.put("Content-Type","application/x-www-form-urlencoded");

            Log.i("teste","HEADER: " + headers);

            return headers;
        }
    };

    request.addMultipartParam("name", "text/plain", "my name");
    request.addFile("file1",img1);

    requestQueue = RequestQueueSingle.getInstance(RelatarErros.this);
    request.setShouldCache(false);
    request.setRetryPolicy(new DefaultRetryPolicy((int) TimeUnit.SECONDS.toMillis(40), DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
    requestQueue.add(request);
    requestQueue.start();

响应时,我总是得到 post 的空白结果并且 $_File['file1'] 是空的。

PHP代码:

<?php 

header("Content-Type: text/plain");


echo "NAME: " . $_POST['name'];

if(isset($_FILES['file1'])){

    if (move_uploaded_file($_FILES['file']['tmp_name'], $directory . $final_name)) {

       echo "Success!";

    } else {

       echo "Error";
    }   
}

else{
    echo "Empty";
}


?>

一切都正确吗?

感谢您的帮助。

我做的有点不同。检查此 link:http://team.158ltd.com/2015/04/30/how-to-upload-image-to-php-server-android/

对我有用。

希望对大家有所帮助。