微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

通过http发布上传图片,同时在Android中保存EXIF数据

如何解决通过http发布上传图片,同时在Android中保存EXIF数据

|| 我是Android开发的新手,并且遇到了我的第一个主要应用程序的问题,我非常感谢您的帮助。该应用程序的目标是允许用户选择存储在手机上的图像,并以JPEG二进制数据为参数,通过http post方法将该图像上传到服务器。问题是我还需要保留EXIF数据。目前,我已将图像推送到模拟器的sdcard上,并使用一个基本应用程序来确认该图像是否包含EXIF数据。 这是到目前为止我得到的: 为了向用户提供图像选择,并因此获得图像Uri,我使用:
startActivityForResult(new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI),SELECT_IMAGE);
在我的活动结果代码中,我通过以下方式获取Uri:
Uri selectedImage = data.getData();
我用它来获取图像的位图,并将其作为预览显示用户。 这是我被卡住的地方,因为我不起诉如何最好地上传它。我在此示例中进行了很多研究,希望能够做类似的事情,但是他似乎只是压缩并发送位图,这可能会破坏我需要的EXIF数据,而且我什至无法理解工作。 这是我现在正在尝试的代码,鉴于我对此类事情的经验不足,这可能是完全错误的:
Uri selectedImage = data.getData();
InputStream imageInputStream=this.getContentResolver().openInputStream(selectedImage);
String str=imageInputStream.toString();
byte[] imageBits=str.getBytes();
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(\"where I am sending it\");
ByteArrayBody toUpload = new ByteArrayBody(imageBits,\"androidpic.jpg\");

multipartentity reqEntity = new multipartentity(HttpMultipartMode.broWSER_COMPATIBLE);
reqEntity.addPart(\"userImage\",toUpload);
reqEntity.addPart(\"FileName\",new StringBody(\"android pic\"));
post.setEntity(reqEntity);
HttpResponse response = client.execute(post);
这当然似乎不起作用。 有没有人有过从这样的手机上载jpeg的经验,可以给我一些指导?任何帮助将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。