抖音微信小程序中上传和下载任意类型文件笔记

最近项目中有个需求,微信和抖音小程序可以上传和下载保存任意类型文件的需求,但是不管是微信还是抖音小程序,他们默认只能上传图片或视频,没有上传任意文件的api,那怎么办呢,只能通过webview调用h5中的input file来上传任意文件,我们以抖音小程序的h5为例:
当抖音小程序需要上传任意类型文件,例如pdf文件的时候,我们页面跳转到另外一个包含webview的page,webview指向一个可以上传pdf文件的h5页面,当用户在这个页面上传完后,就上传的文件url地址回调给抖音小程序的页面,整体的流程就是这样,下面是小程序的代码:
我们以uniapp的代码为例,可以自动转成小程序代码
<!-- pages/web/web.vue -->
<template>
<view class="container">
<web-view src="https://example.com/upload.html页面的完整url地址" @message="onMessage"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
onLoad(options) {
},
methods: {
onMessage(options) {
/**
* 网页的消息发出顺序为 postMessage1、postMessage2、postMessage3
*/
uni.setStorageSync("webviewpassdata",options.detail.data);//保存回调的值
console.log("onmessage:", options.detail.data);
}
}
}
</script>
<style>
.container {
width: 100%;
height: 100vh;
}
</style>
upload.html
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" />
<title>H5 上传</title>
<scrip...点击查看剩余70%
网友评论