文档章节

微信JSSDK上传多张图片

miaojiangmin
 miaojiangmin
发布于 2016/12/01 14:34
字数 427
阅读 88
收藏 4

做过微信开发的都知道,在部分android机型里微信不支持网页上传图片的,这是由于这些机型的文件上传存在内存泄漏,会导致微信闪退,所以微信内置浏览器将文件上传屏蔽。这就导致这些机型的用户在使用微信浏览器访问某些需要上传图片的网页时功能不正常。

 

前不久微信公开了一些接口,其中有一个uploadImage接口用于上传图片,一般和chooseImage接口配合使用。先调用chooseImage接口让用户选择一张或者多张图片,用户选择完毕后微信会返回被选中图片的id,再把图片id传给uploadImage接口上传图片。

 

由于uploadImage一次只能上传一张图片,因此当用户选择多张图片时,需要多次调用uploadImage接口来上传图片。

 

但是在实践的过程中发现,不管用户选中多少张图片,只有第一张能够上传成功。

查看了一下微信的文档,在常见问题中找到了相关的描述

 

uploadImage怎么传多图(目前只支持一次上传一张,多张图片需等前一张图片上传之后再调用该接口)

 

也就是说,如果想要上传多张图片,需要将之前并行上传改成串行。

代码如下:

$('#filePicker').on('click', function () {
	wx.chooseImage({
		success: function (res) {
			var localIds = res.localIds;
			syncUpload(localIds);
		}
	});
});
var syncUpload = function(localIds){
	var localId = localIds.pop();
	wx.uploadImage({
		localId: localId,
		isShowProgressTips: 1,
		success: function (res) {
			var serverId = res.serverId; // 返回图片的服务器端ID
			//其他对serverId做处理的代码
			if(localIds.length > 0){
				syncUpload(localIds);
			}
		}
	});
};

本文转载自:http://www.tuicool.com/articles/v6n6Bj

共有 人打赏支持
上一篇: play 多数据源
下一篇: mybatis-jpa
miaojiangmin
粉丝 10
博文 426
码字总数 103899
作品 0
宁波
程序员
私信 提问
微信JSSDK上传图片

最后发现的原因是一次不能上传多张图片,需要一张上传结束之后再传一下张。在上传成功后的通知方法中继续上传下一张。

我有一车切糕
2016/03/03
82
0
PHP之微信JSSDK图片上传预览下载到服务器

1.投票报名 主要实现报名功能 (1)form表单布局 3.微信JSSDK图片上传功能 3.1 jssdk.php jsapiticket.php accesstoken.php 放在项目文件下 3.2获取wx.config所需要的信息 页面中添加如下代码...

bengozhong
2016/11/03
1K
0
微信开发的一些问题

1、Android微信不支持flex布局: 参考:http://segmentfault.com/q/1010000003409405 提供的解决办法无非两种: a)新版webkit和旧版webkit混合flex写法; b)flex子元素需要displ:block; 本人...

Reya滴水心
2016/01/07
236
0
C#开发微信门户及应用(44)--微信H5页面开发的经验总结

在我们开发微信页面的时候,需要大量用到了各种呈现的效果,一般可以使用Boostrap的效果来设计不同的页面,不过微信团队也提供很多这方面的资源,包括JSSDK的接口,以及Weui的页面样式和相关...

walb呀
2017/12/04
0
0
点击图片上传文件

一、选择文件 1、隐藏input(大部分手机浏览器,微信中都不可用) 通过js触发选择文件。js获取选择的文件并上传 实现: 上传

陈安一
2015/08/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

test

//// main.c// Test//// Created by 吕颖 on 2019/1/16.// Copyright © 2019年 carmen. All rights reserved.//#include <stdio.h>#include <stdlib.h>#include <t......

carmen-ly
今天
1
0
Android webview热门组件agentweb:4.0.2无法自适应的问题

Android webview热门组件agentweb:4.0.2无法自适应的问题 //设置自适应屏幕,两者合用mAgentWeb.getAgentWebSettings().getWebSettings().setUseWideViewPort(true); //将图片调整到适合w...

Gemini-Lin
今天
5
0
如何维护一个自己的 golang doc 服务

本文内容是如何维护一个golang 在线的doc 服务。 1 什么是godoc ? godoc 是 golang 官方提供的文档生成工具, 2 为什么要有godoc ? 我们经常遇到一个问题,就是代码和文档不一致,线上代码版...

鼎铭
今天
5
0
js中的对象创建的模式以及继承模式

对象创建模式: 工厂模式 构造函数模式 原型模式 继承模式 原型式继承 寄生式继承 构造函数 原型式和构造函数的组合式(缺点:运行两次超类类函数,积累函数的属性被挂载在原型对象上和实例对...

莫西摩西
昨天
3
0
大数据教程(11.5)仓库工具hive的实现机制

上一篇文章介绍了hadoop联邦集群的搭建过程。至此,hadoop的整个知识系统就差不多结束了。本篇博客开始,博主将分享数据仓库hive工具的原理以及使用。 一、Hive基本概念 (1)什么是Hive Hive...

em_aaron
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部