图像在上传时被扭曲
问题描述:
我正在使用MIME多部分上传图像到服务器。有时图像会变形。如何解决这个问题? 注:扭曲的手段,一些像素丢失。 我使用下面的代码上传:图像在上传时被扭曲
File file = new File(filePath[0]);
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpPost httpPost = new HttpPost("serverurl");
MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
entity.addPart("Content-Type",new StringBody("multipart/form-data;charset=utf-8"));
entity.addPart("Content-Length", new StringBody(String.valueOf(file.length())));
entity.addPart("UploadContentPostD", new FileBody(file));
entity.addPart("DocumentName", new StringBody(file.getName()));
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost,localContext);
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
图像失真是:
答
我用Apache Commons上传这里是我上传的代码,每一次完美的作品...
public Integer uploadByteArray(String remoteFilename, byte[] bitmapdata){
HttpClient client = new HttpClient();
PostMethod filePost = new PostMethod(URL_PATH);
Integer ret = null;
try {
Part[] parts = new Part[2];
parts[0] = new StringPart("file_name" ,remoteFilename);
ByteArrayPartSource ps = new ByteArrayPartSource("file", bitmapdata);
parts[1] = new FilePart("file", ps);
filePost.setRequestEntity(new MultipartRequestEntity(parts,
filePost.getParams()));
} catch (Exception e) {
Log.d(TAG, e.toString());
}
try {
ret = client.executeMethod(filePost);
Log.d(TAG, "statusCode>>>" + ret);
if(ret != 200){
Log.d(TAG, "Error:" + ret + " from server. Please try again later.");
}else{
responseBody = filePost.getResponseBodyAsString();
Log.d(TAG, filePost.getResponseBodyAsString());
}
} catch (Exception e) {
Log.d(TAG, e.toString());
}
filePost.releaseConnection();
return ret;
}
如果你继续看到你的问题不断出现,我会在服务器上获得的文件上使用MD5,并将该值发送回resp onse并将其与您发送的文件的本地MD5进行比较。如果他们不一样,你就知道出了问题。
请准确解释你的意思是扭曲?不良的像素/画面比例改变/像素损坏? – Elemental 2011-12-14 14:25:11
像素丢失,所以图像看起来像重叠其他部分 – Sandy 2011-12-14 14:27:24