filelist

React+Antd+Antd-Img-Crop实现上传固定大小的裁剪头像或者图片(且可控制图片数量)

荒凉一梦 提交于 2019-12-02 12:36:34
见章知著    1024,程序员们节日快乐!本文主要讲述react配合antd以及antd-img-crop第三方库实现一个可控的图片上传功能。 运行项目    需要具有node环境 第三方库安装  1. antd(Upload) 安装和初始化    1.1 . 在代码编辑器(VS-Code或者其他编辑器)代开终端,输入命令行安装antd:    $ yarn add antd --save 或者 $ npm install antd --save      1.2.安装好antd后,修改src/App.css,在新建的项目中引入antd所需要的css样式: @import '~antd/dist/antd.css'; antd的使用方式有多种,详细方式可以参考官方文档进行使用 https://ant.design/docs/react/introduce-cn  2. antd-img-crop 安装和初始化     2.1.在antd-img-crop官方文档中,我们优先安装和初始化这个组件: $ npm i antd-img-crop --save 或者 $ yarn add antd-img-crop --save 在安装和初始化组件方式上,官方文档还有其他方式可以安装初始化组件,更多的安装方式可以参考官方文档: https://www.npmjs.com/package

How to only dispatch FileList from dataTransfer after File items are loaded

…衆ロ難τιáo~ 提交于 2019-12-02 02:55:20
问题 I'm using a Node package module called react-dropzone and React-Redux to allow users to drag a file onto the window and display the file info. The react-dropzone component is giving me the FileList from the standard event.dataTransfer.files. The problem I'm having is that when I dispatch that FileList to the Redux store, the File items aren't yet loaded in the FileList array, so when I dispatch the File data, I just get {"preview":"blob:file:///f30eafb8-8a77-4402-9111-379590b4a03f"} . If I

How to only dispatch FileList from dataTransfer after File items are loaded

ぃ、小莉子 提交于 2019-12-01 23:21:49
I'm using a Node package module called react-dropzone and React-Redux to allow users to drag a file onto the window and display the file info. The react-dropzone component is giving me the FileList from the standard event.dataTransfer.files . The problem I'm having is that when I dispatch that FileList to the Redux store, the File items aren't yet loaded in the FileList array, so when I dispatch the File data, I just get {"preview":"blob:file:///f30eafb8-8a77-4402-9111-379590b4a03f"} . If I log the File items to the console, they show up just fine because their data is loaded by the time I

获得文件列表,文件移动

陌路散爱 提交于 2019-11-30 19:03:16
1 package file; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileOutputStream; 6 import java.io.IOException; 7 import java.util.ArrayList; 8 import java.util.List; 9 10 import org.apache.commons.lang3.StringUtils; 11 12 public class fileListAndMove { 13 14 public static void main(String[] args) { 15 String strPath = "D:\\文件\\手机app"; 16 String newPath = "D:/等等"; 17 List<File> filelist = new ArrayList<>(); 18 for (File f : getFileList(strPath, filelist)) { 19 System.out.println(f); 20 removeFile(f, strPath, newPath); 21 } 22 } 23 24 /** 25 * 获得文件列表 26 * @param

Python--批量重命名文件

跟風遠走 提交于 2019-11-30 10:36:22
#!/usr/bin/env python # -*- coding: utf-8 -*- import os class ImageRename(): def __init__(self): self.path = 'D:/xpu/paper/plate_data' def rename(self): filelist = os.listdir(self.path) total_num = len(filelist) i = 0 for item in filelist: if item.endswith('.jpg'): src = os.path.join(os.path.abspath(self.path), item) dst = os.path.join(os.path.abspath(self.path), '0000' + format(str(i), '0>3s') + '.jpg') os.rename(src, dst) print 'converting %s to %s ...' % (src, dst) i = i + 1 print 'total %d to rename & converted %d jpgs' % (total_num, i) if __name__ == '__main__': newname = ImageRename()

【问题记录】ElementUI上传组件使用before-upload钩子校验失败时的问题处理

≯℡__Kan透↙ 提交于 2019-11-30 03:21:54
一、开发环境 1、Vue 2.5.17 2、ElementUI 2.11.1 二、开发需求 1、支持office文档、图片等格式上传; 2、单文件上传大小限制10MB 3、最多上传20个文件 三、问题描述 假设已经上传了文件A,当再上传下一个文件B时,如果文件B不符合需求,比如大小超过10MB,提示上传失败并将文件B从上传队列中删除,但是同时会将已上传成功的上一个文件A也删除。 代码如下: 1 <el-upload name="uploadFiles" multiple 2 :action="fileUploadAction" :data="uploadData" :file-list="fileList" 3 :before-upload="beforeFileUpload" 4 :on-success="fileUploadSuccess" 5 :on-remove="fileUploadRemove" 6 accept=".jpg,.jpeg,.png,.gif,.pdf,.JPG,.JPEG,.PBG,.GIF,.BMP,.PDF,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.DOC,.XLS,.PPT,.DOCX,.XLSX,.PPTX"> 7 <el-button> 8 <i class="el-icon-document" />添加附件 9 <

前端如何上传图片到七牛云

谁都会走 提交于 2019-11-29 22:25:28
From: https://www.jianshu.com/p/7520e0bee777 前端如何上传图片到七牛云 流程: 生成token => token和图片作为new FromData() 参数 再上传 token const accessKey = 'TSlScX_akS5TIpsXlkq*****7Efk-ZaZeg4ZWtta'; const secretKey = 'X-MGLySWVrWFIQKTn***WDIBvb3ni4Zm3qwZNKxk'; const bucket = 'deluntiyun'; 如何获取这三个参数 image.png accessKey 就是AK secretKey 就是SK image.png bucket 就是你的空间名字 我的token是koa后台请求回来的,附上代码 node的话qiniu模块 非node的话自行查询 Node.js SDK let qiniu = require('qiniu'); // 需要加载qiniu模块的 const accessKey = 'TSlScX_akS5TIpsXlkqHH2gy7Efk-ZaZeg4ZWtta'; const secretKey = 'X-MGLySWVrWFIQKTn87HWDIBvb3ni4Zm3qwZNKxk'; const bucket = 'deluntiyun';

VUE(keep-alive) 返回上一页 不刷新页面

雨燕双飞 提交于 2019-11-29 21:50:14
关于页面不刷新keep-alive 在vue中的使用方式 方法一(页面只刷新一次,任何页面跳转到这个页面都不刷新) 直接在你的router-view 标签外面包一个keep-alive 加include=“组件名称” < keep - alive include = "FileList" > < router - view > < / router - view > < / keep - alive > 这时候匹配到的组件就会值加在一次。这个就比较简单,但能使用性不广。 方法二(keep-alive与vue-router配合使用) 配置路由的时候需要加 keepAlive: true 参数 (我把代码完整贴出来,有点长) import Vue from 'vue' import Router from 'vue-router' import xxx form 'xxx' //等等类似组件 Vue . use ( Router ) export default new Router ( { mode : 'hash' , //history routes : [ { path : '/login' , //登录页 name : 'Login' , component : Login } , { path : '/regist' , //注册页 name : 'Regist' ,

设计模式之组合模式

六月ゝ 毕业季﹏ 提交于 2019-11-29 17:36:59
1、什么是组合模式   组合模式是一种方案,能够让用户可以一致性地处理整个树形结构(容器构件)或树形结构的一部分(叶子构件)。虽然两部分表现出的功能不一样,整体使用上无太大差别。 2、组合模式应用场景   1:在具有整体和部分的层次结构中,希望通过一种方式忽略整体和部分的差异,客户端可以一致性对待处理。   2:处理的是一个树形结构。   3:系统中可以分离出叶子对象和容器对象,而且他们的类型不固定,需要增加一些新的类型。   遍历文件夹进行文件类型、数量、大小的统计。文件夹内可能包含子文件夹(容器文件),也可能只有具体格式的文件,即叶子文件。 3、组合模式示例   首先区分一下透明式组合模式和安全型组合模式   透明式组合模式:     抽象构件中声明了所有用于管理成员对象的方法,确保所有构件类都有相同的接口。在客户端看来叶子构件和容器构件所提供的方法一致的。具体可参考示例   安全型组合模式:     抽象构件中声明构件操作的方法,叶子构件继承方法重写实现具体的操作,而在组合类中声明并实现用于管理成员对象(构件)的方法,这样叶子构件根本看不到管理成员对象的方法,避免在使用中出现异常操作。   透明式组合示例:    AbstractFile --抽象构件类 /** * @Description 抽象构件 * @CreateDate 2019-09-15-21:28 *

Python常用小技巧(五)——批量读取json文件

不想你离开。 提交于 2019-11-28 10:58:13
Python常用小技巧(五)——批量读取json文件 前言: 其实Python能够批量读取很多文件,这里,本人以json文件为例(json是标注图片时生成的文件,记录有标注的坐标和标签,友情推荐标注图片的工具:labelme),读取想要的数据。大家也可以稍做修改,去读取其他类型的文件。 一、材料准备 - Python - os - json 二、代码编写 首先我们来观察一下我们需要处理的json文件 打开json文件,我们可以看到一下内容 我们需要获取的信息是 label 后面标注的种类,还有坐标信息 期望输出的格式是: 结构: n.json x1,y1,x2,y2,lable1 x1,y1,x2,y2,label2 样例: 21.json 203,1,511,116,shoes 248,2,350,44,welt 所以,知道标准后,我们的代码如下: # -*- coding:utf8 -*- import json from os import listdir import os path = '/home/ljt/Documents/labelme' filelist = listdir(path) #for i in filelist: #print(filelist[0].split(".")[0]) # i.split() fileIndex =[]