我在我的应用程序中有一个图片上传方法,需要向服务器发送一张图片和一个字符串。
问题是服务器接收到内容(图片和字符串),但当它将图片保存到磁盘上时,图片会损坏,无法打开。
以下是脚本的相关部分。
问题是服务器接收到内容(图片和字符串),但当它将图片保存到磁盘上时,图片会损坏,无法打开。
以下是脚本的相关部分。
HttpPost httpPost = new HttpPost(url);
Bitmap bmp = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
String byteStr = new String(byteArray);
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("--"+boundary+"\r\n");
stringBuilder.append("Content-Disposition: form-data; name=\"content\"\r\n\r\n");
stringBuilder.append(message+"\r\n");
stringBuilder.append("--"+boundary+"\r\n");
stringBuilder.append("Content-Disposition: form-data; name=\"image\"; filename=\"image.jpg\"\r\n");
stringBuilder.append("Content-Type: image/jpeg\r\n\r\n");
stringBuilder.append(byteStr);
stringBuilder.append("\r\n");
stringBuilder.append("--"+boundary+"--\r\n");
StringEntity entity = new StringEntity(stringBuilder.toString());
httpPost.setEntity(entity);
我不能更换服务器,因为其他客户端在使用它并且对他们有效。我只需要了解为什么图像被损坏。
new String(byteArray, ??)
。 - Peter