上传从手机的意图文件(Upload files from phone intent)

2019-09-27 02:04发布

我已经在那里的活动的用户从手机的内存选择图片的Android应用程序使用操作选择意图把它上传到服务器

Intent i = new Intent(Intent.ACTION_PICK,
            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    startActivityForResult(i, RESULT_LOAD_IMAGE);

然而; 现在的要求已经改变,客户端要上传的任何扩展名的文件,有什么意图,我应该为了打开手机的内存(如文件管理器),然后选择任何我想要的使用?

现在,我使用的是获取内容的意图感谢你们:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("*/*");
    startActivityForResult(intent, 1);

但问题是在结果开始活动

 @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == Activity.RESULT_OK) {
        if (requestCode == 1) {
            Log.d("select pivture", "passed her");
            Uri selectedMediaUri = data.getData();

            String Fpath = selectedMediaUri.getPath();

            Log.d("Fpath", Fpath);
}

我得到如下:

/document/primary:Download/tool208.pdf

这是不是我想要的,我想这样的一个路径:

/external/images/media/6634

Answer 1:

使用下面的方法:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(intent, PICKFILE_REQUEST_CODE);

UPDATE

   @Override  
   protected void onActivityResult(int requestCode, int resultCode, Intent data)  
   {  
          super.onActivityResult(requestCode, resultCode, data);  
         if(requestCode==PICKFILE_REQUEST_CODE){  
         }  
 }  


文章来源: Upload files from phone intent