微信JSSDK多图片上传

13

微信JSSDK多图片上传

微信JSSDK多图片上传

作为一名开发者,你可能已经遇到过这样的问题:在某些Android机型上,微信不支持网页上传图片。这种情况是由于这些机型的文件上传存在内存泄漏,而这会导致微信闪退,所以微信内置浏览器将文件上传屏蔽。这就导致这些机型的用户在使用微信浏览器访问网页时,无法正常上传图片。

问题分析

首先,我们需要了解一下为什么微信不支持多图片上传。根据微信官方的说明,部分Android机型的文件上传存在内存泄漏,这会导致微信闪退,所以微信内置浏览器将文件上传屏蔽。这意味着,如果我们想在这些机型上实现多图片上传,我们需要找到一种绕过这个限制的方法。

解决方案

为了解决这个问题,我们可以使用以下几种方法:

1. 使用微信自带的上传组件:微信提供了一个自带的上传组件,可以帮助我们实现多图片上传。这个组件可以在网页上直接使用,不需要额外的配置。

2. 使用第三方库:有很多第三方库可以帮助我们实现多图片上传,例如七牛云存储、阿里云存储等。这些库提供了一个简单的接口,可以让我们轻松地实现多图片上传。

3. 使用微信内置的文件管理器:微信内置有一个文件管理器,可以帮助我们实现多图片上传。这个方法需要在网页上添加一个特殊的标签,才能正常工作。

具体步骤

下面是具体的步骤:

使用微信自带的上传组件1. 在网页上添加以下代码:

```html

多图片上传

```

2. 在网页上添加以下代码:

```javascriptwx.ready(function() {

wx.chooseImage({

count:1,

sizeType: ['compressed'],

sourceType: ['album'],

success: function(res) {

wx.uploadImage({

localId: res.localIds[0],

server: 'YOUR_SERVER_URL',

isShowMessage: true,

success: function(res) {

console.log('上传成功');

},

fail: function(res) {

console.log('上传失败');

}

});

},

fail: function(res) {

console.log('选择图片失败');

}

});

});

```

3. 在网页上添加以下代码:

```javascriptwx.ready(function() {

wx.chooseImage({

count:1,

sizeType: ['compressed'],

sourceType: ['album'],

success: function(res) {

wx.uploadImage({

localId: res.localIds[0],

server: 'YOUR_SERVER_URL',

isShowMessage: true,

success: function(res) {

console.log('上传成功');

},

fail: function(res) {

console.log('上传失败');

}

});

},

fail: function(res) {

console.log('选择图片失败');

}

});

});

```

使用第三方库1. 在网页上添加以下代码:

```html

多图片上传

```

2. 在网页上添加以下代码:

```javascriptvar qiniu = new Qiniu({

accessKey: 'YOUR_ACCESS_KEY',

secretKey: 'YOUR_SECRET_KEY'

});

qiniu.uploadFile({

file: document.getElementById('fileInput').files[0],

success: function(res) {

console.log('上传成功');

},

fail: function(res) {

console.log('上传失败');

}

});

```

3. 在网页上添加以下代码:

```javascriptvar qiniu = new Qiniu({

accessKey: 'YOUR_ACCESS_KEY',

secretKey: 'YOUR_SECRET_KEY'

});

qiniu.uploadFile({

file: document.getElementById('fileInput').files[0],

success: function(res) {

console.log('上传成功');

},

fail: function(res) {

console.log('上传失败');

}

});

```

使用微信内置的文件管理器1. 在网页上添加以下代码:

```html

多图片上传