在parse.com上上传高质量的图像

时间:2014-05-29 20:35:25

标签: android database image upload parse-platform

每当我在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();
                         }
                       }
                   });

                   } 

}

1 个答案:

答案 0 :(得分:0)

使用curl CLI界面手动将文件POST到parse.com

参考'rest api docs'部分='上传文件'

使用curl / rest api上传文件。

保存将在之前的POST的响应中的解析文件URL。

使用该网址下载并检查文件长度。

您将看到他们没有在POST中更改文件大小。

然后,您可以转移到应用中的REST API,也可以找出SDK或您的应用代码在您的帖子中进行压缩的位置。