为什么手机下载不了图片和视频?

但长按图片保存还是可以的。

但也不是完全没办法,微信还是提供了一些API来实现受限的下载功能。

使用微信的JS-SDK我们可以使用微信提供的JS-SDK去和微信通信,获得一些手机系统的能力。

官方说法为:

微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。

用法就是在页面引入这个jssdk的js文件,然后你就能拿到一个wx的对象。然后调用config方法,传入appId、签名等信息(这个需要在微信公众号平台获取)。之后我们就可以通过wx对象的方法去和微信通信,使用手机系统的能力。

其中有个wx.downloadImage()的方法,是用来下载图片的。但其实我觉得应该是用来耍猴的。

该方法不接受一个url参数,而是接受一个serverId。

serverId从哪来,从另一个方法wx.uploadImage()里面获得。wx.uploadImage()方法用于上传本地的图片,但上传成功后,回调函数就能拿到一个serverId。

上传到哪?微信自己的服务器。如果你想保存到自己公司的服务器,你还得让公司服务器调用多媒体接口,从微信服务器拿回图片。而且,微信服务器只给你保存3天时间

是的,你能下载的图片的图片来自用户的上传,且只有三天有效期。另外,下载的图片貌似也不会保存到相册里,而是保存在用户找不到的地方。

结论就是完全没法用。

微信小程序小程序提供了一个简单、高效的应用开发框架和丰富的组件及API,帮助开发者在微信中开发具有原生APP体验的服务。

微信小程序算不上是H5,因为它是微信下的原生程序,只是语法上类似网页开发的那一套。

微信小程序的HelloWorld项目模板的入口文件为下面代码。

//app.tsApp<IAppOption({globalData:{},onLaunch(){//展示本地存储能力constlogs=wx.getStorageSync('logs')||[]logs.unshift(Date.now())wx.setStorageSync('logs',logs)//登录wx.login({success:res={console.log(res.code)//发送res.code到后台换取openId,sessionKey,unionId},})},})可以看到,这里同样有一个wx对象。

但需要注意的是,这个wx对象和JS-SDK的wx是完全不同的东西,千万别混为一谈。

调用wx.downloadFile()方法并传入一个url就能下载文件。但有一些限制,比如单次下载大小最大为200M只能访问开发设置配置好的指定域名、域名需ICP备案等。

下载的文件会保存在一个本地临时路径。如果是图片,可以再调用wx.saveImageToPhotosAlbum()方法保存到相册。

讲了半天,这个微信小程序也不是H5啊,如果我的微信小程序通过web-view元素嵌入了一个H5页面,那我这个H5页面是不是会更牛逼一点,是不是可以用小程序的wx对象啊。

不行。

尽管是内嵌的H5页面,但其实它和小程序是隔离的,小程序内嵌的H5页面其实和普通的H5页面没有区别,还是得用傻不拉几的JS-SDK。

讲这么多,主要是想让大家认识到:wx.downloadFile()是微信小程序才能使用的,不可以用到H5上,即使这个H5是内嵌到小程序里的。

话说回来,为什么微信小程序的能力要比JS-SDK受到的限制小很多呢?

我认为是因为开发者开发的微信小程序是受到微信监管的,发布也需要通过微信的审核,微信也有权限将任何小程序下架。

所以微信不怕小程序开发者滥用功能,抓到了直接就给你封了。而用H5页面则是完全开放的,

那么方案是?首先,微信浏览器中的H5页面,我们无法让用户通过点击“下载”按钮来下载图片、视频以及文档文件(pdf、word等),而是打开一个新的页面让你预览。

但对于其他微信不能预览的文件(如果zip压缩包)来说,则会将其下载下来。

但是对于展示出来的图片,用户可以长按图片保存下来。

所以我们的常规方案是:

本文来自“取一盏清酒”用户投稿,该文观点仅代表作者本人,不代表华夏信息网立场,本站不对文章中的任何观点负责,内容版权归原作者所有、内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、内容、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容,请发送邮件至1470280261#qq.com举报,一经查实,本站将立刻删除、维护您的正当权益。如若转载,请注明出处:http://www.xxxwhg.com/zh/100739.html

上一篇 2023-03-23 14:00:05
下一篇 2023-03-23 14:00:05

相关推荐

  • 苹果手机主板序列号(苹果手机主板序列号以什么字母开头)

    苹果手机怎么从主板分辨颜色白色黑色如果仅从主板是不能区分手机颜色的!但是单单区分8G和16G或32G还是可以看主板的,16G主板上方的屏蔽罩是黑色的,8G的则是白色的!还有就是可以看主板上的硬盘,8G与16G、32G都是可以看的出来,颜色无从区分!不过如果可以开机的话,只要连

    2023-10-01 20:48:31
    309
  • 战区2为什么会闪退(战区为什么老是闪退)

    为什么战区2闪退原因分析。  电脑配置  1、很多玩家在进行游戏时,可能会因为电脑配置不足导致出现闪退的问题。  2、因此玩家在进行游戏之前,需要检查一下电脑的配置是否足够。  3、下面给大家提供一些配置推荐来进行参考。  显卡驱动  1、如果玩家的显卡驱动没

    2023-10-01 07:41:51
    381
  • 魅蓝手机死机解决方法(手机白屏死机解决方法)

    魅蓝5手机经常不能开机解决办法:方法一1、前往魅族官网下载最新版固件;2、长按电源键以及音量加键,手机震动后松手;3、此时将手机连接到电脑,会识别出一个存储盘,将固件复制到存储盘里,点击升级就可以正常使用了。方法二携带手机、发票和保修卡,到当地的魅族授权服务体

    2023-09-23 11:00:49
    263
  • vivo手机换了主板后会怎样(vivo手机主板换了手机会变快吗)(vivo手机换了屏幕指纹不能用怎么回事)

    vivo手机主板换了手机会变快吗这个是不一定会变快的。正常来说手机的主板是没有人去修的,因为修主板的费用很高,而且修好之后质量并不一定好,很多主板并不是虚,而是直接更换了一块新的,因为维修人员不一定会修,他就建议你换一块新的新的主板价格很高,所以还不如直接买块

    2023-09-08 09:21:22
    767