我正在尝试使用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)