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

Android从图库上传图片到服务器[已关闭]

我正在尝试将图片Androids照片库上传到服务器.我所做的所有的沟通都是与Object Streams进行的,但现在我不确定我该怎么做.哦,我已经使用输入流来下载一个图像,您直接使用URL直接指向图像.如果有人能指出正确的方向,将不胜感激.

谢谢

解决方法

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

> Uploading files to HTTP server using POST on Android.
> Upload image or file using http POST multi-part.

以上两个网址将解释您如何将图像从应用程序上传到服务器.

要从照片库上传图像,您需要该图像文件的路径,并将获取的路径替换为第一个URL中的/data/file_to_send.mp3.

要从移动画廊获取图像的路径,您可以按照以下代码

@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);
        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");
    }

原文地址:https://www.jb51.cc/android/310670.html

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

相关推荐