我正在尝试将Android上的图片直接上传到Google云存储.但API似乎不起作用.他们有一些与App引擎绑定的Java示例.我没有看到任何被证明适用于Android的示例.
在Android上,我尝试使用json api上传图片.我能够上传图像对象,但它似乎已损坏.此外,生成身份验证令牌似乎也很棘手.
我现在很震惊.这个世界上有没有人尝试使用Java客户端或Json API从Android上传图像/视频并成功了?请有人指出我正确的方向.来自Google的这款Storage api的体验非常令人失望.如果有人这样做,请分享您的经验.下面是我尝试使用GCS的JSON API时从Android尝试的代码.
private static String uploadFile(RichMedia media) {
DefaultHttpClient client = new DefaultHttpClient();
Bitmap bitmap = BitmapUtils.getBitmap(media.getLocalUrl());
HttpPost post = new HttpPost(GCS_ROOT + media.getLocalUrl() + "_" + System.currentTimeMillis());
if(media.getType() == RichMedia.RichMediaType.PICTURE) {
post.setHeader("Content-Type", "image/jpeg");
} else {
post.setHeader("Content-Type", "video/mp4");
}
post.setHeader("Authorization", "AIzaSyCzdmCMwiMzl6LD7R2obF0xSgnnx5rEfeI");
//post.setHeader("Content-Length", String.valueOf(bitmap.getByteCount()));
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
try {
post.setEntity(new StringEntity(new Gson().toJson(byteArray).toString()));
HttpResponse response = client.execute(post);
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String eachLine = null; …Run Code Online (Sandbox Code Playgroud)