filelist

zip操作工具类

丶灬走出姿态 提交于 2020-01-29 04:18:49
一、背景 最近在做一个项目,里面有一个一次性下载多张证书的接口,我需要将多张证书返回给前端,然后我就想到是否可以把证书文件压缩到一个zip文件,讨论之后就采用了我的想法。之后就想着怎么才能方便的写入呢?实现如下: 二、代码实现 import java . io . * ; import java . util . Arrays ; import java . util . List ; import java . util . concurrent . locks . ReentrantReadWriteLock ; import java . util . zip . ZipEntry ; import java . util . zip . ZipOutputStream ; public class ZipUtil { private static ReentrantReadWriteLock reentrantReadWriteLock = new ReentrantReadWriteLock ( ) ; /** * 获取指定路径下的文件,如果没有就直接创建一个 * @param path 文件夹名称,可空 * @param fileName 文件名,非空 * @return 返回指定w文件 * @throws IOException 读取异常 */ public

winform图片添加水印

折月煮酒 提交于 2020-01-28 12:20:24
winform图片添加水印 布局界面: 代码: using System ; using System . Collections . Generic ; using System . ComponentModel ; using System . Data ; using System . Drawing ; using System . Linq ; using System . Text ; using System . Threading . Tasks ; using System . Windows . Forms ; using System . IO ; using System . Drawing . Imaging ; namespace WindowsFormsApplication3 { public partial class Form1 : Form { public Form1 ( ) { InitializeComponent ( ) ; } string [ ] filelist ; string dirfilepath ; private void button1_Click ( object sender , EventArgs e ) { if ( openFileDialog1 . ShowDialog ( ) ==

el-upload的使用

橙三吉。 提交于 2020-01-25 02:33:43
<template> <div class="download"> <!-- action:必选参数,上传的地址 accept:接受上传的文件类型 drag:是否启用拖拽上传 disabled:是否禁用 file-list:上传的文件列表 multiple:是否支持多选文件 list-type:文件列表的类型 limit:最大允许上传个数 show-file-list:是否显示已上传文件列表 --> <el-upload class="upload-demo" drag multiple :limit="1" :accept="'.jpg,.png'" :file-list="fileList" action="https://jsonplaceholder.typicode.com/posts/" :on-exceed="handleExceed" :on-preview="handlePreview" :before-upload="beforeAvatarUpload" :on-change="handleChange" :on-success="handleAvatarSuccess" :on-error="handleAvatarError" :on-remove="handleRemove"> <i class="el-icon-upload"></i> <div

2017.11.7 ant design - upload 组件的使用, react 条件渲染以及 axios.all() 的使用

試著忘記壹切 提交于 2020-01-25 01:48:58
一、主要任务:悉尼小程序管理后台,添加景点页面的开发 二、所遇问题及解决 1. 上传多个不同分类音频信息时,如中文音频和英文音频,要求音频不是放在一个数组中的,每个音频是一个独立的字段,此时: <Upload action="/hserve/v2/file/upload/" // 必选参数,上传的地址; listType="picture" // 上传列表的内建样式,这个不是很明白 text、picture、picture-card 之间的区别,默认值为 text; showUploadList={false} // 是否展示 updateList,默认值为 true; accept="audio/*" // 接受上传的文件类型,audio/*、video/*、image/* fileList={cnAudioFileList} // 已经上传的文件列表,这里的 cnAudioFileList 初始值是为空的,上传后通过 handleAudioChange 来设置 cnAudioFileList 的值; onChange={this.handleAudioChange.bind(this, 'cn')} // 这里因为要分别上传中英文的音频,所以额外传了一个用以区分的参数; > handleAudioChange = (type, { file, fileList }) => {

Python对文件夹中文件名进行批量操作小杂集

梦想与她 提交于 2020-01-24 12:57:21
关于文件名操作的小玩意儿 在文件名前添加指定文字 在文件名后添加指定文字 删除文件名中指定文字 获取文件名列表并写入txt文件 在网上下了一些课程资料,发现文件名都被加了小广告,读取文件的时候麻烦,就想着写个小程序来批量处理一下(函数名都瞎取的)。 在文件名前添加指定文字 先利用os.listdir()函数获取所选文件夹的目录,并判断是否为文件夹,如果不是文件夹就存入Olddir中,再对Olddir进行遍历,使用os.path.splitext()函数将所选文件夹的文件名和文件后缀名分别储存,以便进行后续的文件名修改操作,下面的是在文件名前添加指定文字,所以Newdir中存入的就是(text + filename + filetype),这就是添加后新的文件名了,最后调用os.rename()函数进行重命名即可。 # 在文件名前添加指定文字 def fore_add ( ) : text = text_entry . get ( ) # 获取文件夹中的目录 filelist = os . listdir ( path ) for files in filelist : Olddir = os . path . join ( path , files ) # 排除掉所选文件夹中的文件夹 if os . path . isdir ( Olddir ) : continue #

Upload 上传

﹥>﹥吖頭↗ 提交于 2020-01-15 00:53:12
通过点击或者拖拽上传文件 点击上传 通过 slot 你可以传入自定义的上传按钮类型和文字提示。可通过设置 limit 和 on-exceed 来限制上传文件的个数和定义超出限制时的行为。可通过设置 before-remove 来阻止文件移除操作。 1 <el-upload 2 class="upload-demo" 3 action="https://jsonplaceholder.typicode.com/posts/" 4 :on-preview="handlePreview" 5 :on-remove="handleRemove" 6 :before-remove="beforeRemove" 7 multiple 8 :limit="3" 9 :on-exceed="handleExceed" 10 :file-list="fileList"> 11 <el-button size="small" type="primary">点击上传</el-button> 12 <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> 13 </el-upload> 14 <script> 15 export default { 16 data() { 17 return { 18 fileList: [

云开发中使用vantweapp的upload组件——更新图片操作

牧云@^-^@ 提交于 2020-01-11 16:09:23
在app.js中我封装了云数据库操作的方法,因此在页面js中直接调用,如 app.updateInfo(that.data.setName,_id,theInfo,e=>{})就是封装的修改数据库方法,参数分别为云数据库集合名称、被修改的数据id,更改后的数据,回调函数 1 /** 2 * 页面的初始数据 3 */ 4 data: { 5 setName: '' , //要请求的数据库库名 6 7 updateId: '' , //要更新的商品的Id 8 fileList:[], //上传文件临时存储数组 9 folder: 'goods' , //云存储中文件上传的目标文件夹 10 tmpUrlArr: [], //需要预览的图片http链接列表(云存储中File ID) 11 12 13 // delGoodsId: "", //要删除的商品id 14 cardNum:1, //商品操作选项卡界面,默认第一页,即添加商品(第二页上架修改,第三页送货管理) 15 time:0, // 16 manageList: [], //添加到云数据库库后,根据创建时间降序排列的数据,即修改数据时需要显示的数据 17 path:'' , //拼接云存储中文件路径 18 19 20 //上传的信息 21 classify:'' , //商品所属类别 22 goodsId: null , /

再次分享一个多选文件上传方案

你说的曾经没有我的故事 提交于 2020-01-11 01:50:50
多选文件上传,已经非常多了,选择性多了可能有时候要比较下哪个更合适,结合到项目中使用更方便才是最重要的。很多的多选上传基本上都是调用的swf文件,确实用flash 或flex开发一个多选上传的功能很方便,比如flex里内置的FileReferenceList对象本身就支持文件的多选,有这个的话就方便多了,下面要说的主要也是基于flex开发的一个多选上传功能。   主要实现的功能如下:   一、选择多个文件上传并显示单个文件的上传进度   二、显示所有文件总的上传进度   三、显示所有上传文件的总大小   四、上传前可以删除任意选定一个或多个文件(按住Ctrl或Shift键)   五、ASP.NET页面调用生成的swf文件异步上传到服务器   先看下演示的截图,如下:                         大致功能和上面截图一样,下面主要说下ASP.NET里怎么调用,FLEX的里面代码我这里就不详细说明了,FLEX里面的代码不多,文章后面提供下载,用flex3.0或4.0可以打开运行。     其中有一个地方说明一下,就是在多选删除的地方,为了保证随意多选删除的正确性,需要把选定的索引项降序排序,每次从数组最大处删除,避免循环删除时索引超界       function deleteItem(): void { var selectItems:Array = process

windows bat脚本实现ftp自动下载 删除

◇◆丶佛笑我妖孽 提交于 2020-01-09 23:57:27
现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加。假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚本就ok了,Linux上利用cronjob 同样可以做到。大体的实现思路如下,当然了不止这一种方式。 在远程服务器上搭建ftp server ,例如这里在远程服务上的 images 作为下载目录。搭建ftp server 最简单的方式就是用FileZilla Server 这个工具去搭建,很方便,零配置。 在client端编写 脚本,首先实现可以从远程服务器上下载,其次再把下载成功的文件到远程服务器上进行删除,这里的细节需要注意: a.首先把下载完成的文件的列表写入到一个临时文件中 例如文件 filelist.tmp,同时把下载到临时目录中的文件移动到一个一个正式目录 例如 download 目录 b.其次删除文件的时候就按照这个 filelist.tmp 文件中文件list, 由于因windows下不能直接将参数传给ftp脚本函数,所以删除文件就采用分批删除,例如一次删除 10个文件,当然这个你可以自己零活控制 , 这里主要用到了ftp 命令中的 mdelete 这个方法,同时可以删除多个文件。 3. 然后根据你的需求,把这个脚本添加到任务计划中。 这个程序包含 2个 脚本

thread:【生产者消费者模式】

跟風遠走 提交于 2020-01-09 16:45:53
一对一 1 public static void main(String[] args) { 2 LinkedBlockingQueue list = new LinkedBlockingQueue(); 3 List<Integer> fileList = Collections.synchronizedList(new ArrayList<>()); 4 for (int i = 0, size = 10000; i < size; i++) { 5 int num = new Random().nextInt(); 6 fileList.add(num); 7 } 8 ThreadFactory factory = new ThreadFactoryBuilder().setNameFormat("demo-pool-%d").build(); 9 ReentrantLock lock = new ReentrantLock(); 10 Condition condition = lock.newCondition(); 11 //生产 12 ThreadPoolExecutor downExecutor = new ThreadPoolExecutor(0, 8, 0, TimeUnit.SECONDS, new LinkedBlockingQueue<>(10),