如何上传存储在内存文件中的所有图像

时间:2016-06-24 05:07:21

标签: android

我需要发送存储在文件中的所有图像。现在我通过指定其名称在按钮点击上发送一个图像。但如何发送保存在某个文件夹中的按钮点击所有图像

public class UploadImagesToServer {


public static void postImage(String ImageLink){

    RequestParams params = new RequestParams();
    try {
        params.put("file", new File(ImageLink));
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    }

    AsyncHttpClient mNewCaller = new AsyncHttpClient();


    mNewCaller.get(Constants.MediaUpload, params, new JsonHttpResponseHandler() {
        @Override
        public void onStart() {
            super.onStart();
        }

        @Override
        public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
            super.onSuccess(statusCode, headers, response);
            Log.e("response page", response.toString());


        }

        @Override
        public void onSuccess(int statusCode, Header[] headers, String responseString) {
            super.onSuccess(statusCode, headers, responseString);
            Log.e("frag", responseString + " " + statusCode);

        }
        @Override
        public void onSuccess(int statusCode, Header[] headers, JSONArray responseString) {
            super.onSuccess(statusCode, headers, responseString);
            Log.e("frag", responseString + " " + statusCode);

        }

        @Override
        public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
            super.onFailure(statusCode, headers, throwable, errorResponse);
            Log.e("fail 3", statusCode + "" + errorResponse);
        }

        @Override
        public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
            super.onFailure(statusCode, headers, responseString, throwable);
            Log.e("fail 3", statusCode + "" + responseString);
        }

        @Override
        public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONArray errorResponse) {
            super.onFailure(statusCode, headers, throwable, errorResponse);
            Log.e("fail 3", statusCode + "" + errorResponse);
        }
    });

}

}

以上代码用于发送图像

    continueBtn.setOnClickListener(new View.OnClickListener() {
        @Override

        public void onClick(View v) {
            String filePath = Environment.getExternalStorageDirectory()
                    .getAbsolutePath() + File.separator + "/Omoto Images/background image.jpg";
            UploadImagesToServer.postImage(filePath);
        }
    });

这是为了调用postImage方法

1 个答案:

答案 0 :(得分:0)

上传多张图片的最佳流程。 您的图片上传代码已经实现,您只需更改流程即可。

您可以将图像路径存储在列表(或类似的东西)中并保存 列表(可能是共享首选项或sqlite)。 完成上传图片后,将其从该列表中删除并继续下一个图片,依此类推,直至列表为空。

上传时,如果互联网连接中断,则不会影响您, 您将始终保存仍要上传的图像列表。

获取所有图片路径: 您需要扫描目录和存储图像路径,然后才能上传检查路径文件是否存在,因为有时可能会移除或移动图像。