在不久前,咱們把vue-core-image-upload 發佈了2.0 。此次咱們保持了完整的api遷移到了react上。支持了header 定義,支持了 file change 的自定義事件,更新了更加詳細的文檔。php
react-core-image-upload 項目地址css
Demohtml
使用 npmvue
npm install react-core-image-upload --save
使用 yarnreact
yarn add react-core-image-upload
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 }) } })
npm run start
http://localhost:9000/demo/index.htmlgit
Demo Onlinegithub
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 |
imageUploaded
: 當圖片上傳成功後的響應處理npm
imageChanged
: 當選擇圖片後api
imageUploading
圖片上傳過程當中bash
errorHandle
圖片上傳中的異常處理
你使用裁剪的話,會向服務端發送上面的參數如上圖。
若是你須要自定義裁剪彈窗的的樣式,你能夠本身寫css進行覆蓋