Php 使用mono for android上传图像不工作

Php 使用mono for android上传图像不工作,php,mono,xamarin.android,Php,Mono,Xamarin.android,我正在尝试在android 2.2上使用以下mono代码上传图像 但是没有上传任何东西 在服务器上,我有一个获取并保存图像文件的php文件,当我在下面一行替换时,代码与C#4.0配合得很好 string path = "/mnt/sdcard/DCIM/Camera/" + "abc.jpg"; 与 请告知 void btnUpload_Click(object sender, EventArgs e) { ManualResetEvent evt = new ManualRe

我正在尝试在android 2.2上使用以下mono代码上传图像 但是没有上传任何东西

在服务器上,我有一个获取并保存图像文件的php文件,当我在下面一行替换时,代码与C#4.0配合得很好

string path = "/mnt/sdcard/DCIM/Camera/" + "abc.jpg";

请告知

  void btnUpload_Click(object sender, EventArgs e)
  { 

  ManualResetEvent evt = new ManualResetEvent(false);
  WebClient wc = new WebClient();

  string path = "/mnt/sdcard/DCIM/Camera/" + "abc.jpg";

  wc.UploadFileCompleted += new UploadFileCompletedEventHandler(CB);
  wc.UploadFileAsync(new Uri("http://mywebsite.com/upload.php"), "POST", path, evt);

  evt.WaitOne();

  }

  static void CB(object sender, UploadFileCompletedEventArgs e)
  {

        if (!e.Cancelled && e.Error == null)
        {
            Console.WriteLine("File uploaded");

        }
        else
        {
            //Toast.MakeText(this, e.Error.ToString(), ToastLength.Short).Show();
            Console.WriteLine(e.Error.ToString());
        }
        ((ManualResetEvent)e.UserState).Set();
  } 

我最终按照这里的说明将图像直接上传到FTP


认为这可能有助于其他人

删除标题和问题中的FTP术语,因为您使用的是HTTP POST而不是FTP发送图像。您能详细说明“不工作”吗?您确定这是文件的正确路径吗?(像这样硬编码路径通常是个坏主意)你能在浏览器中访问该URL吗?调试日志是怎么说的?
  void btnUpload_Click(object sender, EventArgs e)
  { 

  ManualResetEvent evt = new ManualResetEvent(false);
  WebClient wc = new WebClient();

  string path = "/mnt/sdcard/DCIM/Camera/" + "abc.jpg";

  wc.UploadFileCompleted += new UploadFileCompletedEventHandler(CB);
  wc.UploadFileAsync(new Uri("http://mywebsite.com/upload.php"), "POST", path, evt);

  evt.WaitOne();

  }

  static void CB(object sender, UploadFileCompletedEventArgs e)
  {

        if (!e.Cancelled && e.Error == null)
        {
            Console.WriteLine("File uploaded");

        }
        else
        {
            //Toast.MakeText(this, e.Error.ToString(), ToastLength.Short).Show();
            Console.WriteLine(e.Error.ToString());
        }
        ((ManualResetEvent)e.UserState).Set();
  }