2015-11-05 50 views
0

我创建了一个android应用程序,通过捕获代码条创建一个stockage list,这个想法是将一个csv文件写入网络文件夹,因为我想要应用程序尽可能多地脱机运行。从android(Xamarin)写入网络文件夹System.UnauthorizedAccessException

目前我的代码看起来像:

 string path = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath; 
     string filename = Path.Combine(path, "stock.csv"); 
     using (var streamWriter = new StreamWriter(filename, true)) 
     using (var writer = new CsvWriter(streamWriter)) 
     { 
      foreach (var item in articulos) 
      { 
       writer.WriteField(item.codbar); 
       writer.WriteField(item.reference); 
       writer.WriteField(item.quantity); 
       writer.NextRecord(); 
      } 
     } 
     string path2 = @"\\Desktop-jce8pl5\csv\stock.csv"; 
     File.Copy(filename, path2,true); 

,但我一直歌厅一个System.UnauthorizedAccessException的

  • 我试图直接从另一台计算机进入该文件并没有 是没有问题的。
  • 我充分权限“所有”和“网络”
  • 直接与IP我想我尽量不复制,只是为了创造

    string path = @"\\Desktop-jce8pl5\csv\stock.csv"; 
        FileStream fs = null; 
        if (File.Exists(path)) 
        { 
         fs = File.Open(path, FileMode.Append); 
        } 
        else 
        { 
         fs = File.Create(path); 
        } 
    

但也没有办法。 有什么帮助吗? 谢谢。

+1

你是否已经通过启用了samba的文件浏览器(如ES File Ex)从Android设备上尝试过?你能连接并浏览你的Windows共享吗?扎根电话?然后使用'cifsmanager'在你的Droid上安装这些共享,所以本地应用程序可以R/W。 – SushiHangover

+0

感谢您的提示,作为第一个方法,我们发现Windows 10阻止匿名连接,所以我改变了选项。然后我从cifsmanager开始,但那一刻我们决定,如果用户有权访问本地网络,他肯定会访问互联网,所以我会通过电子邮件发送文件。 – Mulflar

+0

@Mulflar作为答案并接受它。 –

回答

0

由于@RobertN拥塞,我试图连接EX文件Ex并检测到我无法访问,所以我检查了Windows 10的常规配置到共享文件夹,并且只启用了授权用户。 我改变了,然后我开始与cifsmanager,但那一刻我们决定,如果用户有权访问本地网络,他肯定会访问互联网,所以我会通过电子邮件发送文件。