如何使用C#Xamarin OnActivityResult获取文件名
大家好,我对Xamarin有点陌生,我正在使用Visual Studio 2015开发android应用程序。我正在尝试将文件从手机上传到FTP位置。我编写了Web服务,它接受字节数组并将文件存储到FTP位置 代码类似于如何使用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
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