小编Yus*_*acs的帖子

使用HttpUrlConnection Android将base64编码图像发送到服务器

我正在尝试使用HttpUrlConnection将base64编码的图像发送到服务器.我遇到的问题是大多数图像都成功发送,但有些图像会生成FileNotFound异常.我可以在下面找到编码图像的代码.

public static String encodeImage(Bitmap thumbnail) {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            thumbnail.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            byte[] b = baos.toByteArray();
            String imageEncoded = Base64.encodeToString(b,Base64.URL_SAFE);
            return imageEncoded;
        }
Run Code Online (Sandbox Code Playgroud)

当我改变这条线时:

String imageEncoded = Base64.encodeToString(b,Base64.URL_SAFE);
Run Code Online (Sandbox Code Playgroud)

至:

String imageEncoded = Base64.encodeToString(b,Base64.DEFAULT);
Run Code Online (Sandbox Code Playgroud)

然后大多数图像生成FileNotFoundException,一些成功发送到服务器.

下面是我的HttpUrlConnection的代码:

public class HttpManager {

    public static String getData(RequestPackage p) {

        BufferedReader reader = null;
        String uri = p.getUri();
        if (p.getMethod().equals("GET")) {
            uri += "?" + p.getEncodedParams();
        }

        try {
            URL url = new URL(uri);
            HttpURLConnection con = (HttpURLConnection) url.openConnection();
            con.setRequestMethod(p.getMethod());


            if (p.getMethod().equals("POST")) …
Run Code Online (Sandbox Code Playgroud)

java base64 android image httpurlconnection

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

base64 ×1

httpurlconnection ×1

image ×1

java ×1