我知道你可以分享消息,这正在Android和ios上工作:
<a href="whatsapp://send?text=Hello world this is a message and a link http://www.example.com/image.jpg">Share with whatsapp</a>
解决方法
想到的一个解决方案是通过AJAX将照片上传到您的服务器,将链接返回到上传的照片,然后使用您在问题中描述的方法向您的照片发送消息。这不是直接使用Whatsapp发送图像,因为收件人只会收到一个链接,但我怀疑将会有一种方式将图像发送到另一个应用程序从您的画廊使用一个网页,因为这将提出一些严重的担心
大致来说,这个过程会这样(请记住,这将需要一些测试才能正确找到一个在所有平台上或至少大部分平台上运行良好的解决方案):
>在您的网站上创建图像上传。只要< input type =“file”accept =“image / *”>在大多数平台上,您的页面应该允许您创建一个按钮,该按钮将打开一个对话框,以便在单击时从手机库中选择图像。您可以找到一个full example here或使用诸如Plupload的库,其中包含许多上传方法,包括您需要的HTML5。
>创建简单的服务器端上传。这取决于您的语言和平台,但您需要做的就是将图像存储在某处,并返回到其中的链接。如果您不想将这些图像存储在服务器上,则可以将其转发到Imgur API并将其上传。
>将用户重定向到包含图像链接的whatsapp://链接。
window.location = 'whatsapp://send?text='+encodeURIComponent(imageURL);
这是您需要在不同平台上进行一些测试的时候。你可能无法重定向到whatsapp://链接这个方式(因为它似乎是一个安全问题),所以你可能需要欺骗它(这是一个坏主意,但我包括它为了完整性;数据动作部分为this answer):
var fakeLink = document.createElement('a'); fakeLink.setAttribute('href','whatsapp://send?text='+encodeURIComponent(imageURL)); fakeLink.setAttribute('data-action','share/whatsapp/share'); fakeLink.click();
最后,如果这两种方式都不起作用,最好的方法是在上传完成之后创建一个链接,以便用户在href字段中实际包含上述whatsapp://链接来确认发送。