123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- <template>
- <view>
- <page-head :title="title"></page-head>
- <view class="uni-padding-wrap uni-common-mt">
- <block v-if="tempFilePath">
- <image :src="tempFilePath" class="image" mode="aspectFit"></image>
- </block>
- <block v-if="!tempFilePath && savedFilePath">
- <image :src="savedFilePath" class="image" mode="aspectFit"></image>
- </block>
- <block v-if="!tempFilePath && !savedFilePath">
- <view class="uni-hello-addfile" @click="chooseImage">+ 请选择文件</view>
- </block>
- <view class="uni-btn-v">
- <button class="btn-savefile" @click="saveFile">保存文件</button>
- <button @click="clear">删除文件</button>
- </view>
- <!-- #ifndef MP-ALIPAY || MP-TOUTIAO -->
- <view class="btn-area">
- <button @click="openDocument">打开pdf文件</button>
- </view>
- <!-- #endif -->
- </view>
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- title: 'saveFile',
- tempFilePath: '',
- savedFilePath: ''
- }
- },
- onLoad() {
- this.savedFilePath = uni.getStorageSync('savedFilePath');
- },
- methods: {
- chooseImage() {
- uni.chooseImage({
- count: 1,
- success: (res) => {
- this.tempFilePath = res.tempFilePaths[0];
- },
- fail: (err) => {
- // #ifdef MP
- uni.getSetting({
- success: (res) => {
- let authStatus = res.authSetting['scope.album'] && res.authSetting['scope.camera'];
- if (!authStatus) {
- uni.showModal({
- title: '授权失败',
- content: 'Hello uni-app需要从您的相机或相册获取图片,请在设置界面打开相关权限',
- success: (res) => {
- if (res.confirm) {
- uni.openSetting()
- }
- }
- })
- }
- }
- })
- // #endif
- }
- });
- },
- saveFile() {
- if (this.tempFilePath.length > 0) {
- uni.saveFile({
- tempFilePath: this.tempFilePath,
- success: (res) => {
- this.savedFilePath = res.savedFilePath;
- uni.setStorageSync('savedFilePath', res.savedFilePath);
- uni.showModal({
- title: '保存成功',
- content: '下次进入页面时,此文件仍可用',
- showCancel: false
- });
- },
- fail: (res) => {
- uni.showModal({
- title: '保存失败',
- content: '失败原因: ' + JSON.stringify(res),
- showCancel: false
- });
- }
- })
- } else {
- uni.showModal({
- content: '请选择文件',
- showCancel: false
- });
- }
- },
- clear() {
- uni.setStorageSync('savedFilePath', '');
- this.tempFilePath = '';
- this.savedFilePath = '';
- },
- // #ifndef MP-ALIPAY || MP-TOUTIAO
- openDocument() {
- uni.downloadFile({
- url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/b3f1d0b0-5168-11eb-bd01-97bc1429a9ff.pdf',
- success: (res) => {
- uni.openDocument({
- filePath: res.tempFilePath,
- success: () => {
- console.log('打开文档成功');
- }
- });
- }
- });
- },
- // #endif
- }
- }
- </script>
- <style>
- .image {
- width: 100%;
- height: 360rpx;
- }
- .btn-savefile {
- background-color: #007aff;
- color: #ffffff;
- }
- </style>
|