我打算创建一个c#windows应用程序,用于将图像文件从Android手机传输到我的Wondows PC - 当我用手机连接PC时(使用数据线)。当我在C#中给出路径“Computer / Nuxes5 /..."以便从移动设备访问文件时,(来自Windows资源管理器地址栏)。然后得到错误的路径。以下是我为访问文件提供的代码。
Directory.GetFiles(@"Computer/Nuxes5/...");
任何人都可以建议我,如何使用C#访问移动文件。
答案 0 :(得分:1)
您需要使用MTP文件传输。由于您使用的是Windows,因此最好的办法是将COM与Windows PortableDeviceApiLib库一起使用。这不是一件容易的事。上面其中一条评论中的WPD API链接是一个很好的参考。
您还应该安装Microsoft MTP Simulator 3.0并查看随附的示例代码。
在MTP中,设备上存储的每个文件或文件夹都是带句柄的对象。要检索文件或文件夹,您必须检索对象句柄,然后通过检查其objectFormatCode属性来检查它是文件还是文件夹。文件夹的对象格式代码设置为0x3001。您可以从MTP Spec获取整个列表。
设置好WPD / PTP包装后,即可开始向设备发送MTP命令。要从设备获取文件,过程如下。
另请注意,您无法同时下载所有内容。您必须为需要下载的每个文件句柄调用getObject()。