在Android中浏览并上传pdf或word文件 [英] Browse and upload pdf or word file in Android

查看:1149
本文介绍了在Android中浏览并上传pdf或word文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

private void getDocument()
{
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("application/msword,application/pdf");
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    // Only the system receives the ACTION_OPEN_DOCUMENT, so no need to test.
    startActivityForResult(intent, REQUEST_CODE_DOC);
}

@Override
protected void onActivityResult(int req, int result, Intent data)
{
    // TODO Auto-generated method stub
    super.onActivityResult(req, result, data);
    if (result == RESULT_OK)
    {
        Uri fileuri = data.getData();
        docFilePath = getFileNameByUri(this, fileuri);
    }
}

// get file path

private String getFileNameByUri(Context context, Uri uri)
{
    String filepath = "";//default fileName
    //Uri filePathUri = uri;
    File file;
    if (uri.getScheme().toString().compareTo("content") == 0)
    {
        Cursor cursor = context.getContentResolver().query(uri, new String[] { android.provider.MediaStore.Images.ImageColumns.DATA, MediaStore.Images.Media.ORIENTATION }, null, null, null);
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

        cursor.moveToFirst();

        String mImagePath = cursor.getString(column_index);
        cursor.close();
        filepath = mImagePath;

    }
    else if (uri.getScheme().compareTo("file") == 0)
    {
        try
        {
            file = new File(new URI(uri.toString()));
            if (file.exists())
                filepath = file.getAbsolutePath();

        }
        catch (URISyntaxException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    else
    {
        filepath = uri.getPath();
    }
    return filepath;
}

我正在创建一个android移动应用程序,用户可以在其中上传自己的简历(PDF表单或字词表单),然后将其发送到服务器.

I am creating an android mobile application in which user can upload his CV (PDF form or word form) and which can be then sent to the server.

我已经使用此代码来附加/上传PDF或Word文件,但是当我在Android Studio中运行该应用程序时,无法单击附件按钮.我该怎么解决?

I have used this code to attach/upload PDF or word file, but when I run the application in Android Studio, the attachment button can't be clicked. How can I solve it?

推荐答案

public class RegisterActivity extends AppCompatActivity {
    ImageButton btnAttach;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);

        getSupportActionBar().setTitle("Registeration");

        btnAttach = (ImageButton) findViewById(R.id.attachImageButton);

        // view products click event
        btnAttach.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                // Launching All products Activity
                Intent i = new Intent(getApplicationContext(), RegisterActivity.class);
                startActivity(i);

            }
        });
    }


    public void attachImageButton_OnClick(View view) {
        Intent intent = new Intent(this, RegisterActivity.class);
        startActivity(intent);
    }


    private void getDocument()
    {
        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.setType("application/msword,application/pdf");
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        // Only the system receives the ACTION_OPEN_DOCUMENT, so no need to test.
//        startActivityForResult(intent, REQUEST_CODE_DOC);
    }


    @Override
    protected void onActivityResult(int req, int result, Intent data)
    {
        // TODO Auto-generated method stub
        super.onActivityResult(req, result, data);
        if (result == RESULT_OK)
        {
            Uri fileuri = data.getData();
         // docFilePath = getFileNameByUri(this, fileuri);
        }
    }

// get file path

    private String getFileNameByUri(Context context, Uri uri)
    {
        String filepath = "";//default fileName
        //Uri filePathUri = uri;
        File file;
        if (uri.getScheme().toString().compareTo("content") == 0)
        {
            Cursor cursor = context.getContentResolver().query(uri, new String[] { android.provider.MediaStore.Images.ImageColumns.DATA, MediaStore.Images.Media.ORIENTATION }, null, null, null);
            int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);

            cursor.moveToFirst();

            String mImagePath = cursor.getString(column_index);
            cursor.close();
            filepath = mImagePath;

        }
        else
        if (uri.getScheme().compareTo("file") == 0)
        {
            try
            {
                file = new File(new URI(uri.toString()));
                if (file.exists())
                    filepath = file.getAbsolutePath();

            }
            catch (URISyntaxException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        else
        {
            filepath = uri.getPath();
        }
        return filepath;
    }
}

这篇关于在Android中浏览并上传pdf或word文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆