在不久前,我们把vue-core-image-upload 发布了2.0 。这次我们保持了完整的api迁移到了react上。支持了header 定义,支持了 file change 的自定义事件,更新了更加详细的文档。
快速开始
使用 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
npm run start
http://localhost:9000/demo/index.html
配置属性
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
发给服务端的裁剪参数
你使用裁剪的话,会向服务端发送上面的参数如上图。
如果你需要自定义裁剪弹窗的的样式,你可以自己写css进行覆盖