简单做了个图片上传的组件;

 <div className={styles.uploadImg_main}><inputstyle={{display:'none'}}ref={(el) => { this.input = el }}type='file'accept='image/*'onChange={this.handleImageChange}/><div onClick={this.addImage}>{this.state.imgUrl&&<img className={styles.show_img} src={this.state.imgUrl} />}<div className={styles.montmorillonite_text}>{this.props.msg}</div><div className={styles.montmorillonite}><div className={styles.montmorillonite_add} >+</div></div></div></div>

该功能主要通过 input标签实现:

<input type='file'  accept='image/*'/>

可以添加属性capture=“camera"仅通过相机上传,不通过文件。该属性还有"camcorder”,“microphone”,可以打开摄像机和录音机。
可以添加属性multiple="multiple"标识可接受多个值的文件上传字段。

  addImage = () => {this.input.click();//触发input:file的click事件,};showToast = (msg) => {Toast.info(msg);};handleImageChange = (e) => {//处理图片const saveUrl = this.props.saveUrl;const file = e.target.files[0];const windowURL = window.URL || window.webkitURL;//实现预览const dataURl = windowURL.createObjectURL(file);//硬盘或sd卡指向文件路径this.setState({imgUrl:dataURl});let param = new FormData(); //创建form对象param.append('file',file);this.props.dispatch({type:this.props.url,payload:{params:param,callback: (rsp) => {saveUrl(rsp.data);this.showToast("上传成功!");},errorCallBack: (rsp) => {this.showToast(rsp.msg);}}});};

通过硬盘或sd卡指向文件路径实现预加载功能。
实现效果图
未上传:
上传:

react简易实现图片上传组件-从相机或文件夹上传相关推荐

  1. java 文件下载 组件_java文件夹上传下载组件

    核心原理: 该项目核心就是文件分块上传.前后端要高度配合,需要双方约定好一些数据,才能完成大文件分块,我们在项目中要重点解决的以下问题. *如何分片: *如何合成一个文件: *中断了从哪个分片开始. ...

  2. 基于layui.upload.js 拖拽文件/文件夹上传下载

    layui.upload.js 拖拽文件/文件夹上传下载 前言 js代码 页面使用(我这里用的是uploader.jsp) CSS文件 上传效果 总结 前言 项目需求完成文件上传,可以拖拽上传文件/文 ...

  3. svn取消文件夹图标_如何去掉svn文件夹上面的符号

    如何去掉svn文件夹上面的符号 如何去掉svn文件夹上面的符号 第一步:建立一个名字叫做remove-svn-folders.reg的文本(先建立txt文件,然后粘贴内容后再修改文件名字),记得后缀要 ...

  4. 拖拽文件夹上传 一(基于Vue的文件夹上传组件)

    前言 首先说一下,小弟第一次写文章,如果有什么错误 还望小哥哥 小姐姐多多包涵.如果有什么缺陷还望大家指出来 让小弟多学习. 内容划分 上传文件夹一共分两部分来写 一方面怕太长了 大家看五分钟就不想看 ...

  5. vue文件夹上传组件选哪个好?

    一. 功能性需求与非功能性需求 要求操作便利,一次选择多个文件和文件夹进行上传: 支持PC端全平台操作系统,Windows,Linux,Mac 支持文件和文件夹的批量下载,断点续传.刷新页面后继续传输 ...

  6. SpringMVC文件夹上传解决方案

    本人在2010年时使用swfupload为核心进行文件的批量上传的解决方案.见文章:WEB版一次选择多个文件进行批量上传(swfupload)的解决方案. 本人在2013年时使用plupload为核心 ...

  7. 文件上传控件-如何上传文件-文件夹上传

    需求: 项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在20G内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以20G来进行限制. PC端全平台支持,要求支持Window ...

  8. vue文件夹上传源码

    一. 功能性需求与非功能性需求 要求操作便利,一次选择多个文件和文件夹进行上传: 支持PC端全平台操作系统,Windows,Linux,Mac 支持文件和文件夹的批量下载,断点续传.刷新页面后继续传输 ...

  9. Dropzone单文件上传、多文件上传、文件夹上传,springmvc接收,上传至Minio的一系列问题

    0 前言 1.项目需要上传文件和大量的文件夹,页面只有一个input file标签会很丑,偶然间得知dropzone类库, 决定使用. 2. 项目后端采用springmvc接收,调用minio代码上传 ...

最新文章

  1. LeetCode简单题之增量元素之间的最大差值
  2. mysql怎么判断2个时间戳为同一天_请教一个需求js怎么判断时间戳是否属于同一天...
  3. Python_基础_1
  4. mysql里concat什么意思_mysql里concat函数和 ‘’|‘’ 符号一起用是表示什么?
  5. JavaScript实现longestCommonSubsequence最长公共子序列算法(附完整源码)
  6. java.lang.IllegalStateException: Error starting child错误的产生与解决
  7. golang 请求带验证信息的坑
  8. wxpython使用实例_wxPython中文教程入门实例
  9. 我与C++的不解情缘
  10. 页面上指定类型的控件的样式添加
  11. Makefile札记
  12. php实现把es6转为es5,使用webpack将ES6转化ES5的实现方法
  13. Nginx配置优化参考
  14. 扩展DropDownList控件和ListBox控件(1) - 支持分组功能(optgroup标签)
  15. 社招2017-阿里、网易、滴滴共十次前端面试碰到的问题
  16. 矩阵的谱(半径)及其性质
  17. 12条人生规则《12 Rules for Life: An Antidote to Chaos》
  18. Python 繁体转简体
  19. 计算机操作系统发展史免费 ppt,《计算机操作系统》PPT课件
  20. GitHub 之 上传文件(一)

热门文章

  1. C++基于优先队列建立链式哈夫曼树并求哈夫曼编码及WPL
  2. Android获取网易云音乐歌曲详细信息
  3. 博士申请 | 香港中文大学(深圳)徐扬生院士团队招收人工智能全奖博士生
  4. Charles在夜神抓包APP无法联网
  5. 多开夜神模拟器使用adb命令进行连接
  6. [推荐系统] 自己动手写一个推荐系统
  7. Hive启动报错java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
  8. 第一课:构建简单的界面(基于AndroidStudio3.2)
  9. 基于单幅图像的快速去雾算法实现
  10. 【附源码】计算机毕业设计SSM网上水果商城