# zc-compress-upload

> 基于Vue组件，图片压缩上传组件

Latest version **1.0.1** (published 2021-01-05) · MIT license · 0 weekly downloads

## Install

```sh
npm install zc-compress-upload
pnpm add zc-compress-upload
yarn add zc-compress-upload
bun add zc-compress-upload
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.1 |
| Published | 2021-01-05 |
| First published | 2021-01-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 289.8 KB |
| Known vulnerabilities | 0 (+1 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Mr.Yan |
| Maintainers | jorahli |
| Keywords | 图片上传, 图片压缩, 压缩上传, 上传组件, 压缩组件, Yan组件库 |

## Links

- npm: https://www.npmjs.com/package/zc-compress-upload
- Repository: https://github.com/googleliyang/zc_compress_upload
- Homepage: https://github.com/googleliyang/zc_compress_upload#readme
- Issues: https://github.com/googleliyang/zc_compress_upload/issues
- npm.io page: https://npm.io/package/zc-compress-upload

## Dependencies (1)

- [vue](https://npm.io/package/vue.md) ^2.5.11

## Recent versions

- 1.0.1 (latest) — 2021-01-05
- 1.0.0 — 2021-01-05

## README

# zc-compress-upload



> 基于Vue图片压缩上传组件

## Build Setup

``` bash
# install dependencies
npm install zc-compress-upload

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build
```



### 使用方法

全局引用

import YanSubs form zc-compress-upload

Vue.use(YanSubs)

按需引用

import { SubName } form zc-compress-upload

Vue.component(SubName.name,SubName)

:::tip
SubName 为组件名称，具体名称可以从下方组件列表寻找
:::



# 组件列表



## 1、CompressSub 图片上传组件（带压缩功能）
适用图片上传对图片大小有要求的

### 基础用法
```html
    <zc-compress-upload :pressType="pressType"
                      :maxSize="maxSize"
                      :action="baseUrl"
                      :ratio="ratio"
                      :data="data"
                      :errUpload="errUpload"
                      :beforeUpload="beforeUpload"
                      :successUpload="successUpload"
                      :uploadEnd="uploadEnd">
    </zc-compress-upload>

<script>
  export default {
    data() {
      return {
           baseUrl: 'http://restapidev.picup.shop/oss/upload',//示例
           data: {a: 1},
           pressType:'size',
           maxSize:1024,
           ratio:0.5
      };
    },
    methods: {
            beforeUpload(file){
                console.log(file,111111)
            },
            successUpload(res){
                console.log('上传成功',22222)
            },
            uploadEnd(){
                console.log('上传完成')
            },
            errUpload(err){
              console.log('上传失败',err)
            }
    }
  };
</script>
```



### Attributes

| 参数      | 说明    | 类型      | 可选值       | 默认值   |
|---------- |-------- |---------- |-------------  |-------- |
| width | 组件宽度  |  string / number | — | 200 |
| height  | 组件高度    | string / number   | — | 200   |
| pressType  | 压缩方式(quality代表通过降低图片质量压缩、size代表通过降低图片尺寸压缩)    |string   | quality / size | quality   |
| maxSize  |  图片允许的最大 大小 如果低于此值 则不会压缩 否则会压缩（单位kb）   |number   | — | 1024   |
| ratio  | 压缩比率，或者是压缩后与压缩前的图片质量比/压缩后的图片宽高和原图片宽高比（0-1）    | number   | — | 0.75 |
| action  | 图片上传接口地址（必填）    | string   | — | — |
| headers  | 请求头    | object   | — | {'Content-Type': 'multipart/form-data'}|
| data  | 上传携带的额为参数    | object | — | — |
| name  | 上传文件字段    | string | — | file |
| withCredentials  | 支持发送 cookie 凭证信息    | boolean   | — | false |
| disabled  | 是否禁用    | boolean   | — | false |
| beforeUpload | 上传之前触发函数(默认参数file)    | Function   | — | — |
| successUpload  | 上传成功的回调(默认参数接口返回值)     | Function   | - | — |
| errUpload  | 上传错误的回调(默认参数err信息)     | Function   | - | — |
| uploadEnd  | 上传完成的回调（失败成功都会触发）     | Function   | - | — |


:::tip

提示：png图片只能通过size进行压缩(否则无效果)，jpeg两种方式都可以，

:::

For detailed explanation on how things work, consult the [docs for vue-loader](http://vuejs.github.io/vue-loader).

---
_Source: https://npm.io/package/zc-compress-upload · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
