8

我正在尝试将文件从 android 手机读取到 Windows 共享。我现在正在使用 StreamWriter,如下所示:

StreamWriter outfile = new StreamWriter(@"\\10.16.68.253\sam\AllTxtFiles.txt");
outfile.WriteLine("TESTGENREOIADNIWAN");

但我得到一个拒绝访问。我已经在清单中添加了权限。我使用 ES 文件资源管理器(每个人都可以访问)测试了共享。我在 WPF 应用程序上使用了相同的代码行并且工作正常,所以我的问题出在 Android 应用程序中。

我已经尝试过更改连接字符串,如 ES,smb://10.16.68.253/sam/AllTxtFiles.txt,但没有运气。

有人做到了吗?

谢!

4

3 回答 3

1

对我来说,我必须为服务器 Windows 共享的根目录设置这样的字符串“smb://username:password@local ip/”。

于 2013-04-22T06:42:50.090 回答
1

在尝试访问任何文件之前,您必须确保与 SMB 共享的连接已经过身份验证。您必须使用 API 调用来执行此操作,因为这些内容是在托管代码之外的 Win32 层中完成的。

这是一个开始:

http://www.pinvoke.net/default.aspx/mpr/WNetAddConnection.html

于 2016-07-07T18:07:44.180 回答
0

您确定您能够使用具有 EVERYONE ACCESS 权限的 ESFileExplorer 读取/写入文件吗?Windows 是一个非常安全的操作系统。您需要授予特定配置文件的权限。例子:

  1. 在 Windows 上创建一个新的配置文件名称。
  2. 为该新配置文件名称提供密码。(必须有密码才能分享内容)
  3. 授予文件夹或文件权限以使用密码共享对该配置文件的访问权限。
  4. 使用 smb 以及配置文件用户名和密码访问文件夹或文件。如“smb://username:password@local ip”

    StreamWriter outfile = new StreamWriter(smb:\\username:password@"\\10.16.68.253\sam\AllTxtFiles.txt");
    outfile.WriteLine("TESTGENREOIADNIWAN");
    
于 2016-07-11T08:03:09.277 回答