我将创建一个c#
windows应用程序,用于将图像文件从
Android手机传输到我的Wondows PC – 当我用手机连接PC时(使用数据线).当我在C#中给出路径“Co@R_502_6466@ter / Nuxes5 / …”以便从移动设备访问文件时(来自Windows资源管理器地址栏).然后得到错误的路径.以下是我为访问文件提供的代码.
Directory.GetFiles(@"Co@R_502_6466@ter/Nuxes5/...");
任何人都可以建议我,如何使用C#访问移动文件.
解决方法
您需要使用MTP文件传输.由于您使用的是Windows,因此最好的办法是将COM与Windows PortableDeviceApiLib库一起使用.这不是一件容易的事.上面其中一条评论中的WPD API链接是一个很好的参考.
您还应该安装Microsoft MTP Simulator 3.0并查看随附的示例代码.
在MTP中,存储在设备上的每个文件或文件夹都是具有句柄的对象.要检索文件或文件夹,您必须检索对象句柄,然后通过检查其objectFormatCode属性来检查它是文件还是文件夹.文件夹的对象格式代码设置为0x3001.您可以从MTP Spec获取整个列表.
一旦设置了WPD / PTP包装器,就可以开始向设备发送MTP命令.要从设备获取文件,过程如下.
>通过调用getStorageIds()获取可用的存储ID;
>对于您感兴趣的存储ID(内部存储/ SD卡),调用getobjectHandles()以获取所有文件/文件夹的列表.
>遍历根文件夹句柄以查找您感兴趣的文件.对于您获得的每个句柄,调用getobjectInfo()以获取有关该句柄的详细信息.
>一旦有了名称和格式代码与您要查找的句柄相匹配的句柄,请调用getobject()函数下载该文件.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。