[英]with javascript how to open an image from usb mobile
我有一台mtk手机,它已连接到我的计算机
截取屏幕截图后,我想使用javascript语言在计算机上打开此屏幕截图。
当我尝试打开文件时,浏览器没有找到它,因为我不知道该文件的正确路径
这是正确的路径,但是不起作用:
pc \\ mtk6589_wet_lca \\手机存储\\图片\\屏幕截图\\屏幕截图_2017-09-29-00-42-58.PNG
这是我用来打开图像的代码:
<script>
function show()
{
var img = document.createElement("img");
img.src = "pc\mtk6589_wet_lca\Phone storage\Pictures\Screenshots\Screenshot_2017-09-29-00-42-58.PNG";
//img.src = "e:\lewis.PNG";
img.alt = "my image";
document.body.appendChild(img);
}
</script>
<body>
<button onclick="show();">show image</button>
</body>
当我尝试“ e:\\ lewis.PNG”时,它可以正常工作
从e:\\
驱动器命名中,我得出的结论是您在Windows上
在Windows pc\\mtk6589_wet_lca\\Phone storage\\Pictures\\Screenshots\\Screenshot_2017-09-29-00-42-58.PNG
上无效。 有效路径以c:,...
类的字母开头c:,...
我不知道为mtks内部存储分配了哪个驱动器号,您必须在路径中添加此驱动器号(如果有)。
如果只有窗口为手机上的SD卡分配了一个驱动器号(而不是其内部存储),则只能使用MTP(媒体传输协议),PTP(图片传输协议),...访问内部存储:
https://www.howtogeek.com/192732/android-usb-connections-explained-mtp-ptp-and-usb-mass-storage/
在我自己的MTK手机(Doogee X5 MTK 6580不是PRO版本)上,我只能使用MTP和PTP访问内部存储。 当我将其连接到USB并在屏幕上从最顶部向下滑动时,我可以进行切换,出现一个带有USB选项的菜单,我可以在其中选择大容量存储 , MTP , PTP和仅电源模式。
在Windows MTP或PTP设备上未分配驱动器号:
大多数与MTP兼容的设备未分配驱动器号。 相反,它们在Windows资源管理器等应用程序中显示为“设备”。 与实现USB大容量存储的设备相比,依赖于驱动器号的脚本或普通Windows程序无法以编程方式访问此类设备。 相反,必须使用Windows资源管理器或具有专门编写的MTP支持的应用程序来处理文件。 Windows上MTP设备的另一个缺点是,虽然可以通过打开文件“属性”弹出窗口来检索文件时间戳,但Windows资源管理器中未显示文件时间戳。
来源: https : //zh.wikipedia.org/wiki/Media_Transfer_Protocol在Windows中,后台技术称为Windows便携式设备(WPD)
https://blogs.msdn.microsoft.com/wpdblog/2009/08/15/introducing-device-services/
https://msdn.microsoft.com/de-de/library/windows/desktop/dd388998(v=vs.85).aspx
Windows10中有一个名为Windows Photo Import API的API,它是对Windows中PTP的支持(屏幕截图仍然是图像,因此您可以使用this),并且可以与javascript一起使用:
在Windows 10中,Microsoft引入了Windows Photo Import API,这是通用Windows平台的一部分的全新的完全异步应用程序编程接口。
借助Windows Runtime C ++模板库(WRL),该API可以从用JavaScript,C#和C ++ / CX编写的Windows应用商店应用程序以及以C ++编写的经典Win32 / COM应用程序中使用。许多开发人员都知道并喜欢的,受人尊敬的Active Template Library,或者使用了Kenny Kerr的MIT许可的Modern CPP框架(请参见以下参考资料)。
来源: https : //www.codeproject.com/Articles/996318/Using-the-Windows-Photo-Import-API-Windows-Media-I
您必须搜索具有WPD(分别是MTP或PTP)支持的应用程序或API,然后使用它来访问手机的内部存储。
在javascript中,是https://github.com/navjagpal/jsptp中PTP的实现
当前,没有MTP库,而node.js中只有libmtp
的包装器( https://www.npmjs.com/package/mtp版本0.0.1)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.