繁体   English   中英

用JavaScript如何从USB移动打开图像

[英]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选项的菜单,我可以在其中选择大容量存储MTPPTP仅电源模式。

在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM