react-core-image-upload:輕量級的圖片上傳裁剪元件
阿新 • • 發佈:2019-01-02
react-core-image-upload
https://github.com/Vanthink-UED/react-core-image-upload/blob/master/README-ZH.md?utm_source=tuicool&utm_medium=referral
一款輕量級的圖片上傳裁剪元件
快速開始
使用 npm
npm install react-core-image-upload --save
使用 yarn
yarn add react-core-image-upload
使用ES6 進行開發
import React from 'react';
import ReactCoreImageUpload from 'react-core-image-upload';
let App = React.createClass({
//...
render() {
return(
<div>
<ReactCoreImageUpload
text="Upload Your Image"
class={['pure-button', 'pure-button-primary', 'js-btn-crop']}
inputOfFile="files"
url="./api/upload.php"
imageUploaded={this.handleRes}>
</ReactCoreImageUpload>
</div>
);
},
handleRes(res) {
this.setState({
// handle response
})
}
})
執行DEMO
yarn run start
配置屬性
Props | Type | Example | Description |
---|---|---|---|
url | String | '/crop.php' | 服務端上傳的地址 |
text | String | 'Upload Image' | 你需要顯示按鈕的文字 |
inputOfFile | String | 'file' | 上傳服務端對應表單 name |
extensions | String | 'png,jpg,gif' | 限制的圖片型別 |
crop | Boolean | true | 是否需要裁剪 |
cropRatio | String | '1:1' | 限制裁剪的形狀 |
cropBtn | Object | {ok:'Save','cancel':'Give Up'} | 按鈕文字 |
maxFileSize | Number | 10485760(10M) | 檔案大小限制 |
maxWidth | Number | 150 | 限制裁剪圖片的最大寬度 |
maxheight | Number | 150 | 限制裁剪圖片的最大高度 |
inputAccept | string | 'image/*' / 'image/jpg,image/jpeg,image/png' | 賦予上傳file的接受型別 |
isXhr | Boolean | true | 是否需要呼叫系統內自己的上傳功能 |
headers | Object | {auth: xxxxx} | 設定xhr上傳 的header |
image uploading callback
imageUploaded
: 當圖片上傳成功後的響應處理imageChanged
: 當選擇圖片後imageUploading
圖片上傳過程中errorHandle
圖片上傳中的異常處理
發給服務端的裁剪引數
If you crop a image , your crop will send a request to your server with some crop arguments;
引數如上圖。
如果你需要自定義裁剪彈窗的的樣式,你可以自己寫css進行覆蓋