2

s3在 Android 中将图像上传到亚马逊服务器时遇到问题。

我创建了一个存储桶,每次都需要将图像发布到该存储桶。当我第一次尝试将图像发布到该存储桶时,它可以从下一次发布到显示如下消息的单词:

您尝试访问的存储桶必须使用指定的端点进行寻址。请将所有未来的请求发送到此端点。

我可以在单个存储桶中上传图像吗?我尝试了

s3Client.createBucket(Constants.getPictureBucket());

// Content type is determined by file extension.
PutObjectRequest por = new PutObjectRequest(Constants.getPictureBucket(), Constants.PICTURE_NAME, new java.io.File(filePath));
s3Client.putObject(por);

谁能帮我?

4

2 回答 2

3

我假设您知道如何从图库中获取图像。您可以通过几个步骤将图像上传到服务器中。按照以下步骤操作,

1.从图库中获取图像。

2.将图像转换为位图并将其压缩为所需的格式。

 Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.icon);
  ByteArrayOutputStream stream = new ByteArrayOutputStream();
 bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);

3.将位图转换为 byte[] 。

byte [] byte_arr = stream.toByteArray();
String image_str = Base64.encodeBytes(byte_arr);

4.然后使用Http Post请求发送它。

我指的是这个链接。

这是满足您确切需求的链接http://blog.3dmick.com/2012/06/android-app-for-uploading-images-on-server/

于 2013-09-05T11:50:07.687 回答
2

看看这些:

  1. 在 Android 上使用 POST 将文件上传到 HTTP 服务器。

  2. Android:使用 http POST 多部分上传图像或文件

请注意,这data.getData()不适用于三星设备。使用预先插入的URI.

于 2013-09-05T11:44:54.383 回答