Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#Xamarin OnActivityResult获取文件名_C#_Android_Android Intent_Ftp_Xamarin.android - Fatal编程技术网

如何使用C#Xamarin OnActivityResult获取文件名

如何使用C#Xamarin OnActivityResult获取文件名,c#,android,android-intent,ftp,xamarin.android,C#,Android,Android Intent,Ftp,Xamarin.android,大家好,我对Xamarin有点陌生,我正在使用Visual Studio 2015开发android应用程序。我正在尝试将文件从手机上传到FTP位置。我编写了Web服务,它接受字节数组并将文件存储到FTP位置 代码类似于 FtpWebRequest requestFTPUploader = (FtpWebRequest)WebRequest.Create(FTPServer + FileName); requestFTPUploader.Credentials = new NetworkCred

大家好,我对Xamarin有点陌生,我正在使用Visual Studio 2015开发android应用程序。我正在尝试将文件从手机上传到FTP位置。我编写了Web服务,它接受字节数组并将文件存储到FTP位置

代码类似于

FtpWebRequest requestFTPUploader = (FtpWebRequest)WebRequest.Create(FTPServer + FileName);
requestFTPUploader.Credentials = new NetworkCredential(FTPUserId, FTPPwd);
requestFTPUploader.Method = WebRequestMethods.Ftp.UploadFile;
int bufferLength = 2048;
byte[] buffer = documents;
requestFTPUploader.ContentLength = buffer.Length;
using (Stream s = requestFTPUploader.GetRequestStream())
{
    s.Write(buffer, 0, buffer.Length);
}
FtpWebResponse ftpresp = (FtpWebResponse)requestFTPUploader.GetResponse();
string  status= ftpresp.StatusDescription;
这很好,但我必须发送扩展名为的文件名

对于android,我使用的是intent

    Intent intent = new Intent();
intent.SetType("image/*");
intent.SetAction(Intent.ActionGetContent);
this.StartActivityForResult(Intent.CreateChooser(intent, "Select a Photo"), 0);
其OnActivityResult方法如下所示

protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data){          
byte[] binData;
Android.Net.Uri uri = data.Data;
Android.Media.Ringtone r = Android.Media.RingtoneManager.GetRingtone(this, uri);
string FileName = r.GetTitle(this);}
我得到的是文件的目录,而不是实际的文件名

我甚至试过各种方法。在xamarin studio中有类似data.getData()的东西,它返回包含文件名的Uri,但不确定我可以使用什么方法,与c#visual studio中的xamarin相同

提前谢谢

问候,, AJ