2012-05-08 42 views
0

我想制作一个程序,拍摄一张照片,地理标签并将其存储在我的服务器上。用相机拍一张照片,但不要保存

1)有没有办法拍照但不保存?我只想拍照,压缩并将其发送到我的服务器。我不想将它存储到SD卡或内部存储或任何东西,只是发送它。如果这是不可能的,那么我如何暂时存储并删除?
2)另外,我如何访问我刚刚发送的图片?

回答

0

对于你的第一个问题,我不认为有一种方法不能在手机上保存图片。它需要保存在某个地方,而另一个选项,即应用程序内存,肯定会为OOM错误创造许多机会。

对于你的第二个,你可以这样创建相机意向:

Intent takePictureFromCameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
takePictureFromCameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(someFilePathString))); 
startActivityForResult(takePictureFromCameraIntent, CAMERA_REQ); 

这将导致相机活动拍摄的照片将被保存在由someFilePathString.指定然后,路径在onActivityResult(或无论何地),您可以使用:File myFile = new File(someFilePathString)访问您的图像并发送到您的服务器。

+0

对于someFilePathString,我应该为路径放什么?什么是相机图像的有效文件路径?我怎样才能得到该目录中的图像的名称,我完成我的操作后如何删除图像?似乎没有任何东西在网上或在开发者指南关于这个 –

+0

http://developer.android.com/guide/topics/data/data-storage.html这是一个链接开发人员指南,谈论数据存储。您可能需要一个到SD卡的文件路径,但您需要检查是否先安装一个文件路径,否则使用到内部存储的路径。 (Environment.getExternalStorageDirectory()。getAbsoluteFilePath()和myContext.getFilesDir())。我相信您可以通过Google找到一种方法来创建有效的路径。至于删除,请查看File类中的一些方法,如delete()。如果您尝试自己并发布代码和更具体的问题,那将会更容易。 – MattDavis