Android上传图片从图库到服务器

我试图从Android的照片库上传图片到服务器。 我所做的所有的交stream都是用Object Streams进行的,但是现在我不确定我会怎么做。 哦,我已经使用了一个inputstream来下载一个图像,通过一个URL直接指向图像。 如果有人能指出我在正确的方向将不胜感激。

谢谢

Solutions Collecting From Web of "Android上传图片从图库到服务器"

要从应用程序上传图像到服务器,您可以按照以下教程进行操作:

  1. 在Android上使用POST将file upload到HTTP服务器。

  2. 使用http POST多部分上传图片或文件。

以上两个url将解释如何将图像从您的应用程序上传到服务器。

要从照片库中上传图片,您需要该图片文件的path, /data/file_to_send.mp3用第一个url中的/data/file_to_send.mp3replace获取的path。

要从移animation廊获取图像的path,您可以按照以下代码:

  @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); b1 = (Button)findViewById(R.id.Button01); b1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { openGallery(SELECT_FILE1); } }); } public void openGallery(int req_code) { Intent intent = new Intent(); intent.setType("image/*"); intent.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(Intent.createChooser(intent, "Select file to upload "), req_code); } public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { Uri selectedImageUri = data.getData(); if (requestCode == SELECT_FILE1) { selectedPath1 = getPath(selectedImageUri); System.out.println("selectedPath1 : " + selectedPath1); } if (requestCode == SELECT_FILE2) { selectedPath2 = getPath(selectedImageUri); System.out.println("selectedPath2 : " + selectedPath2); } tv.setText("Selected File paths : " + selectedPath1 + "," + selectedPath2); } } public String getPath(Uri uri) { String[] projection = { MediaStore.Images.Media.DATA }; Cursor cursor = managedQuery(uri, projection, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); return cursor.getString(column_index); } 

为了下载图片,你可以做下面的代码。

  ImageView image = (ImageView)findViewById(R.id.image); if(!ImageUrl.equals("no image")) { try { image.setImageDrawable(grabImageFromUrl(ImageUrl)); } catch(Exception e) { } } private Drawable grabImageFromUrl(String url) throws Exception { return Drawable.createFromStream((InputStream)new URL(url).getContent(), "src"); } 

我面临同样的问题。

 Bitmap image = MediaStore.Images.Media.getBitmap(this.getContentResolver(), uri); 

为我工作