目录

解压缩

此接口处理的数据在PC终端使用时,可能会被其它应用读取,所以建议压缩包中请勿包含敏感数据,并将解压数据存放在固定路径下。

接口声明

在manifest.json文件的 features属性中增加如下配置。

{"name": "system.zip"}

导入模块

在调用接口页面的<script>部分增加如下配置。

import zip from '@system.zip'

或

var zip = require("@system.zip")

使用限制

限制条件

说明

适用终端

手机、平板

适用区域

全球

接口定义

接口

描述

zip.decompress(OBJECT)

解压文件。

[h2]zip.decompress(OBJECT)

描述

解压文件。

OBJECT参数

参数

类型

是否必填

说明

srcUri

string

是

源文件的uri,不能是tmp类型的uri。

注意:

路径中不能包含中文字符。

dstUri

string

是

目标目录的uri,不能是应用资源路径和tmp类型的uri。

注意:

路径中不能包含中文字符。

topSize(非厂商联盟规范)

number

否

最大解压大小(限制最大解压大小,例如100*1024*1024表示最大解压100M,如果压缩包解压后超过100M,则不解压)。默认值为:104857600,即100*1024*1024。

topFileNumbers(非厂商联盟规范)

number

否

最大解压文件个数(限制最大解压文件个数,例如100表示解压后最多100个文件,如果压缩包解压后文件(含目录)超过100,则不解压)。

success

function

否

成功回调。

fail

function

否

失败回调。

complete

function

否

执行结束后的回调。

fail返回错误码:

错误码

说明

202

参数错误。

300

I/O错误。

示例代码

zip.decompress({
    srcUri: 'internal://cache/test.zip',
    dstUri: 'internal://files/unzip/',
    success: function () {
        console.log(`handling success`)
    },
    fail: function (data, code) {
        console.log(`handling fail`)
    }
})

Demo

<template>
  <div class="doc-page">
    <div class="item-container">
      <div class="item-content">
        <text class="txt">src file:{{srcUri}}</text>
      </div>
      <input type="button" class="btn" onclick="decompress" value="decompress file" />
    </div>
  </div>
</template>
<style>
 .doc-page{
  flex: 1;
  flex-direction: column;
}
  .item-container {
    margin-bottom: 50px;
    margin-right: 60px;
    margin-left: 60px;
    flex-direction: column;
  }
  .item-content {
    flex-direction: column;
    background-color: #ffffff;
    padding-left: 30px;
    padding-right: 30px;
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 30px;
    align-items: flex-start;
  }
  .txt {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  .btn {
    background-color: #0faeff;
    color: #ffffff; 
    width:600px;
    height: 100px;
    font-size: 50px;
    border-radius:15px;
  }
</style>

<script>
  import zip from '@system.zip'
  import prompt from '@system.prompt'

  export default {
    private: {
      srcUri:'internal://cache/test.zip'
    },
    onInit() {
      this.$page.setTitleBar({ text: 'zip' })
    },
    decompress(){
          const self = this  
          zip.decompress({
                srcUri: self.srcUri,
                dstUri: 'internal://files/unzip/',
                success: function () {
                          prompt.showToast({
                                message: `handling success`
                        })
                },
                fail: function (data, code) {
                        console.log('handling fail')
                        prompt.showToast({
                                message: `handling fail, ${code}: ${data}`
                        })
                }
        })
    }
  }
</script>

效果图如下:

版本更新说明

版本

发布日期

描述

1060

2019-12-10

第一次正式发布。