将图像从Android上传到GAE数据存储
如何将图像从Android客户端上传到GAE(谷歌应用程序引擎)数据存储将图像从Android上传到GAE数据存储,android,google-app-engine,google-cloud-datastore,Android,Google App Engine,Google Cloud Datastore,如何将图像从Android客户端上传到GAE(谷歌应用程序引擎)数据存储 尚未找到教程,已尝试了7天。首先,您需要确定要上载的图像文件的大小。这是因为如果您使用的数据存储最多只能使用一个文本字段,该字段最多只能保存1MB的数据 我建议您考虑使用Blobstore或更好的Google云存储服务来保存图像数据 步骤大致如下: 用你的Android代码和图像字节写一篇文章 在应用程序引擎端,接收字节,对它们进行编码,然后使用谷歌云存储服务保存数据。然后,您可以使用GCS标识符并将其保存在数据存储中,
尚未找到教程,已尝试了7天。首先,您需要确定要上载的图像文件的大小。这是因为如果您使用的数据存储最多只能使用一个文本字段,该字段最多只能保存1MB的数据 我建议您考虑使用Blobstore或更好的Google云存储服务来保存图像数据 步骤大致如下:
- 用你的Android代码和图像字节写一篇文章
- 在应用程序引擎端,接收字节,对它们进行编码,然后使用谷歌云存储服务保存数据。然后,您可以使用GCS标识符并将其保存在数据存储中,作为对图像的引用李>
请看下面的示例代码 好的,我可以上传这样的图片
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
private Blob blobImage;
public Blob getBlobImage() {
return blobImage;
}
public void setBlobImage(byte[] bytes) {
this.blobImage = new Blob(bytes);
}
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String type;
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
Photo photo = new Photo();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.sherlock);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
photo.encodeBlobImage(byteArray);
photo.setName("Sherlock");
photo.setName("sherlock");
photo.setType("image/jpeg");
photo.setId((long) 8232);
Photoendpoint.Builder builder = new Photoendpoint.Builder(
AndroidHttp.newCompatibleTransport(), new JacksonFactory(),
null);
builder = CloudEndpointUtils.updateBuilder(builder);
Photoendpoint endpoint = builder.build();
Log.d("Exception", "inserting image");
try {
Log.d("Exception", "inserting");
endpoint.insertphoto(photo).execute();
} catch (IOException e) {
// TODO Auto-generated catch block
Log.d("Exception", "" + e);
}
请回复下面的答案:)@Romin您推荐接受答案中使用的方法吗?POJO中也缺少编码和解码方法。