2015-11-05 47 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,但那一刻我們決定,如果用戶有權訪問本地網絡,他肯定會訪問互聯網,所以我會通過電子郵件發送文件。