每当我在parse.com上将任何图像上传到我的数据库时,它的大小就会减少。我已经尝试了所有可能的方法来解决这个问题。我尝试将图像保存在我的SD卡中,它的大小合适但是当我尝试在解析的数据浏览器中查看它时,它会显示一个非常小的图像,比如50x50px。我该如何解决这个问题?
我保存到SD卡代码:
private void saveImage(Bitmap imgmap,ImageView imgview)
{
Calendar ci= Calendar.getInstance();
fileNameStr="sdcard/Sudhaar/"+ci.get(Calendar.YEAR)+"-"+(ci.get(Calendar.MONTH)+1)+"-"+ci.get(Calendar.DAY_OF_MONTH)+"_"+ci.get(Calendar.HOUR_OF_DAY)+"-"+ci.get(Calendar.MINUTE)+"-"+ci.get(Calendar.SECOND)+"-"+ci.get(Calendar.MILLISECOND)+".JPG";
try
{
FileOutputStream imgout=new FileOutputStream(fileNameStr);
imgData.compress(Bitmap.CompressFormat.JPEG,100,imgout);
imgout.close();
}
catch (FileNotFoundException e) {
Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();
}
}
我上传到解析代码:
public void send_img(Bitmap imgData, String description)
{
ByteArrayOutputStream stream = new ByteArrayOutputStream();
imgData.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] img = stream.toByteArray();
ParseFile file = new ParseFile("image.jpg", img);
file.saveInBackground();
ParseObject complain = new ParseObject("complaint");
complain.put("description",description);
complain.put("image", file);
complain.saveInBackground(new SaveCallback() {
public void done(ParseException e) {
if (e == null) {
Toast.makeText(getApplicationContext(),"Complaint Posted!", Toast.LENGTH_SHORT).show();
pDialog.dismiss();
finish();
} else {
pDialog.dismiss();
Toast.makeText(getApplicationContext(),"Sorry ! Please Try Again", Toast.LENGTH_SHORT).show();
}
}
});
}
}
答案 0 :(得分:0)
使用curl CLI界面手动将文件POST到parse.com
参考'rest api docs'部分='上传文件'
使用curl / rest api上传文件。
保存将在之前的POST的响应中的解析文件URL。
使用该网址下载并检查文件长度。
您将看到他们没有在POST中更改文件大小。
然后,您可以转移到应用中的REST API,也可以找出SDK或您的应用代码在您的帖子中进行压缩的位置。