将文件转换为字节时出错

时间:2014-12-12 16:34:20

标签: android parse-platform

我收到以下错误错误的json响应:org.json.JSONException:值无效的java.lang.String类型无法转换为JSONObject。任何人都可以告诉我如何将文件转换为android中的字节并将其存储在解析云中......

            InputStream inputstream=assetmanager.open("lmh.jpg");
            byte[] data=new byte[inputstream.available()];                  
            ParseFile file = new ParseFile("lmh.jpg", data);
            file.saveInBackground(new SaveCallback() {

                @Override
                public void done(ParseException e) {
                    // TODO Auto-generated method stub
                    if(e!=null)
                        Toast.makeText(getApplicationContext(), "ERROR: "+e, Toast.LENGTH_LONG).show();
                    else
                        Toast.makeText(getApplicationContext(), "sucess", Toast.LENGTH_LONG).show();
                    }
                });
                ParseObject fileu = new ParseObject("FileU");
                fileu.put("image", file);
                fileu.saveInBackground(new SaveCallback() {

                @Override
                public void done(ParseException e) {
                    // TODO Auto-generated method stub
                }
            });
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
});

1 个答案:

答案 0 :(得分:0)

在您的代码中,您只是传递空字节数组。您应该首先尝试将图像适当地转换为字节数组:

// make sure image path is correct

InputStream inputStream=assetmanager.open("lmh.jpg");
bitmap = BitmapFactory.decodeStream(inputStream);

ByteArrayOutputStream byteArrayOS= new ByteArrayOutputStream();  
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOS);
byte[] data= baos.toByteArray();

ParseFile file = new ParseFile("lmh.jpg", data);

此外,请确保正确复制客户端密钥:similar error