公司領導提出這樣的產品需求:須要上傳目錄文件,不僅是圖片和視頻,並且同時要支持Android和IOS兩大移動端。另外公司App的架構採用的是uni-app。javascript
<input type="file"/>
嵌入H5頁面,須要採用web-view標籤,以下:php
<web-view src="/hybrid/html/index.html" @message="handleMessage"></web-view>
複製代碼
注意:html
第一種解決方法:經過@message傳遞數據,在h5頁面中,上傳完文件後,獲取上傳後的文件信息,直接postMessage後,web-view頁面會接收java
uni.postMessage({
data: {
action: data
}
});
複製代碼
當運行代碼的時候,並無執行@message回調,須要點擊h5頁面返回的時候,纔會調用回調函數。因而在執行完postMessage後,調用以下函數返回上一級頁面git
uni.navigateBack({
delta: 1
});
複製代碼
注意:github
<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.1.js"></script>
複製代碼
第二種解決方法:經過頁面跳轉url傳遞數據。在h5頁面上傳完文件後,調用頁面跳轉函數,將文件數據放到url參數中,以下:web
uni.redirectTo({
url: './h5Upload?fileData=' + data,
})
複製代碼
github:github.com/silianpan/u…架構
選擇系統目錄文件 app
頁面跳轉url傳遞數據框架