MTP协议问题:如何获得一个指定路径下的文件的ID

来源:未知作者:操作系统 日期:2020/01/31 19:17 浏览:

自家必要一个简易的程序把一个点名文件从PC传输到Android设备。找了半天只在MSDN上找到三个C++版的文件传输示例程序:程序表达:(v=vs.85卡塔尔国.aspx源码下载:++就C++吧,也足以凑合拿来用,大不断做成多个DLL。可是今后赶过三个标题:怎样能够一贯获得一个点名路径的ID?例如说笔者几眼前想传输文件到ComputerMI4LTE内存设备Download小编就要求先得到那几个Download目录的ID,然后才具对其操作。小编在这里个示例代码,只见到通过二个父对象ID,如何列举其总体的子对象的方法。所以须求一难得一见往下找。第大器晚成层是DEVICE,其唯有一个子指标s10001.然后自身再列举s10001的子对象,开掘Download目录的ID是o8.得到这几个o8,笔者就足以对她写文件了。不过这种格局,是或不是功效太低?有没有一贯的秘技能够获得有个别路线的ID,不必意气风发层一层子目录去搜索?其余,小编意识当指标目录下已经有重名的文件时,那么些文件传输的不二等秘书诀不能够兑现直接覆盖,必需先删除重名文件,然后技能成功传输。那个有未有相比飞快的方法?最后,哪位格外如能提供可用的C#代码进行MTP传输的,不胜感谢。小编要好找了比较久,开掘英特网的C#代码未有四个能用的。而温馨尝试把C++的亲自去做改成C#,在运用DeviceManager.GetDevices列举所有可用设备那一步就曾经过不去了,死活都要报“封送拆收器限定:字符串过长。”的荒唐。先多谢!

“net helpmsg”命令格式:
NET HELPMSG
message#

后台传输的计策

 

  • 大小

 

上传最大文件大小

5MB

通过手机网络连接的最大下载大小

20MB——如果超过此限制,则传输的TransferPreferences属性将自动更改为AllowBattery,它对需要Wi-Fi的传输有影响。

通过Wi-Fi而没有外部电源的最大下载大小

100 MB——大于100 MB的文件必须将传输的TransferPreferences属性设置为None,否则传输将失败。如果不知道传输文件的大小,则其有可能会超出该限制,您应将值设置为None

 

  • 限制

 

每个应用程序的队列中未完成的最大请求数(这包括活动和挂起的请求)。

5——完成后不会自动从队列中删除传输。应用程序应该使用Remove(BackgroundTransferRequest)从队列中删除完成的传输,以便为新的传输留出队列空间。

设备上所有应用程序的最大并发传输数

2

设备上所有应用程序的最大排队传输数

500

每个请求的最大HTTP标头数

15

HTTP标头的最大大小

每个16KB

 

  • 策略

 

  • 在非并发语音和数据网络上不运营后台传输服务,在那之中包蕴:

    • 2G、EDGE、标准 GPRS

    后台传输服务在3G以至越来越高版本的互连网上运行。

  • 劳动器端所需的公文内容长度标头大于5MB。服务器应该一贯在响应中回到内容长度。不这么做或者会促成严重下落传输的性质。

  • 劳务器端所需的公文范围标头大于 5MB。服务器应该一贯帮助范围恳求标头。不这么做也许会引致惨恻低沉传输的属性。

 

  • 慢速传输

即使设备的互连网连接速度低于以下速率,则会暂停传输一碗水端平试。那一个限定(单位为Kb/s)异常的低,因而普通不会落得。

网络媒介

最低数据速率

3G

50 Kbps

Wi-Fi/USB

100 Kbps

 

 

MTP协议问题:如何获得一个指定路径下的文件的ID。 

打响做到的时候该情状数值为0,别的的意况数值代表的野趣如下:

后台文件传输

后台文件传输仅支持HTTP和HTTPS的传输,不扶植 FTP。通过运用 BackgroundTransferService 完结后台上传和下载文件。GET HTTP方法帮助下载文件,POST方法扶助下载或上传文件。传输方法是在 BackgroundTransferRequest 对象的Method 属性里安装的。

后台文件传输对于文件系统的界定是全部后台传输中下载的指标路线和上传的源路线都必得是本土文件路线。下载的靶子路线钦定保存下载的文件的职位,上传的源路线钦点上传文件之处。后台传输的保有地点路径都必需放在您应用程序的独门存款和储蓄中,在名称叫"/shared/transfers"的根目录中。该目录是操作系统在设置应用程序时创设的,但万一应用程序删除或重命名该目录,则必得在起步任何文件传输在此之前再度创建该目录。您能够在"/shared/transfers"根目录下开创您选择的别样别的目录构造,何况可以在传输达成今后复制或删除文件。尝试采纳"/shared/transfers"目录之外的路线运行传输将抓住那多少个,所以接收该暗中认可的下载目录就可以,在下载完结后再将文件复制至别的目录。