以寡治众各个击破,超大文件分片上传之构建基于Vue.js3.0+Ant-desgin+Tornado6纯异步IO高效写入服务by Liu Yue/2022-07-25 标签: Ant desgin io js3.0 Tornado6 vue 上传 写入 分片 各个击破 基于 寡治众 异步 文件 服务 构建 超大 高效 分治算法是一种很古老但很务实的方法。本意即使将一个较大的整体打碎分成小的局部,这样每个小的局部都不足以对抗大的整体。战国时期,秦国破坏合纵的连横即是一种分而治之的手段;十九世纪,比利时殖民者占领卢旺达, 将卢旺达的种族分为胡图族与图西族,以图进行分裂控制,莫不如是。 21世纪,人们往往会在Leetcode平台上刷分治算法题,但事实上,从工业角度上来看,算法如果不和实际业务场景相结合,算法就永远是虚无缥缈的存在,它只会出现在开发者的某一次不经意......了解更多
聚是一团火散作满天星,前端Vue.js+elementUI结合后端FastAPI实现大文件分片上传by Liu Yue/2020-09-10 标签: elementUI FastAPI js vue 一团 上传 分片 前端 后端 实现 文件 满天星 火散作 结合 聚是 分片上传并不是什么新概念,尤其是大文件传输的处理中经常会被使用,在之前的一篇文章里:python花式读取大文件(10g/50g/1t)遇到的性能问题(面试向)我们讨论了如何读写超大型文件,本次再来探讨一下如何上传超大型文件,其实原理都是大同小异,原则就是化整为零,将大文件进行分片处理,切割成若干小文件,随后为每个分片创建一个新的临时文件来保存其内容,待全部分片上传完毕后,后端再按顺序读取所有临时文件的内容,将数据写入新文件中,最后将临时文件再删掉。大体流程请见下图:&......了解更多
python3.7爬虫:使用Selenium带Cookie登录并且模拟进行表单上传文件by Liu Yue/2020-03-28 标签: cookie python3.7 Selenium 上传 使用 并且 文件 模拟 爬虫 登录 表单 进行 前文再续,书接上一回,之前一篇文章我们尝试用百度api智能识别在线验证码进行模拟登录:Python3.7爬虫:实时api(百度ai)检测验证码模拟登录(Selenium)页面,这回老板又发话了,编辑利用脚本虽然登录成功了,但是有一些表单还是得手动上传,希望能改造成自动化流程。说实话,没毛病,机器能干的事,就没必要麻烦人了,拿人钱财,替人办事,开干。 首先理清思路,没必要每次登录都去实时监测识别登录页面的验证码,而是反过来想,当我们登录成功了,......了解更多
python3.7+Django2.0.4配合vue.js2.0实现又拍云(upyun.cm)存储的异步拖拽文件上传功能by Liu Yue/2020-03-21 标签: cm Django2.0 js2.0 python3.7 upyun vue 上传 功能 存储 实现 异步 拍云 拖拽 文件 配合 在之前的几篇文章里阐述过关于七牛云云存储文件上传的一些操作:python3.7+Vue.js2.0+Django2.0.4异步前端通过api上传文件到七牛云云端存储;使用Tornado配合七牛云存储api来异步切分上传文件,得益于七牛云完备的文档体系,没遇到什么大坑,现在来介绍一下业内和七牛云齐名的云服务平台又拍云,本站的全球cdn服务就是使用又拍云:关于又拍云免费cdn全网加速服务的长期评测(各种踩坑),因为又拍云的免费流量比七牛云多出大概5g左右,当然了得加入一个......了解更多
使用python3.7+Vue.js2.0+Django2.0.4异步前端通过api上传文件到七牛云云端存储by Liu Yue/2020-02-24 标签: 使用 python3.7 异步 上传 文件 通过 Django2.0 vue 前端 api 存储 js2.0 七牛 云云 之前一篇文章是通过普通js+tornado来上传七牛云:使用Tornado配合七牛云存储api来异步切分上传文件,本次使用vue+django来进行异步上传,因为毕竟vue.js才是目前的前端的主流。 首先注册七牛云:qiniu.com,进入你的七牛云账号,打开秘钥页,记录下你的ak和sk 随后新建一个云存储空间,这里空间......了解更多
使用异步非阻塞框架Tornado配合七牛云存储Api来异步切分上传文件by Liu Yue/2019-12-15 标签: 使用 异步 上传 配合 文件 Tornado 七牛云 api 切分 存储 之前写了几篇关于FastDfs分布式存储的文章:python3.7.3操作FastDfs来进行文件操作,其实市面上关于云存储的第三方服务比比皆是,最著名的无疑就是七牛云存储,本次我们将演示用tornado配合七牛云来进行文件的云存储操作。 在做七牛云的文件上传时,很多人有一个误区,就是以为是前端先上传到后台服务器,然后后台服务器再将文件上传到七牛云,这个逻辑本身没有问题,但是会遇到一个问题,如果是后台对接七牛,出一个接口,......了解更多
python花式读取大文件(10g/50g/1t)遇到的性能问题(面试向)by Liu Yue/2019-07-12 标签: Python 遇到 性能 问题 文件 面试 10g 50g 1t 花式 读取 最近无论是面试还是笔试,有一个高频问题始终阴魂不散,那就是给一个大文件,至少超过10g,在内存有限的情况下(低于2g),该以什么姿势读它? 所有人都知道,用python读文件有一套”标准流程“: def retrun_count(fname): """计算文件有多少行 """ count = 0 with open(......了解更多
python3.7.3操作FastDfs来进行文件操作by Liu Yue/2019-05-20 标签: 操作 python3.7 文件 进行 FastDfs 在之前的一篇文章中:利用Docker来搭建分布式文件系统FastDfs,我们已经搭建好了FastDfs分布式文件系统,并且已经可以通过命令进行上传操作,那么如何使用python来上传文件呢? 很简单,还是利用docker的特性,我们知道docker 的 -v 参数,可以自动挂载宿主机的文件件到容器中去,这样宿主和容器就可以进行无障碍的文件共享,我们通过-v参数,把宿主机的root目录自动挂载到docker容器......了解更多
利用vue.js双向绑定机制和vue-resource在前端异步上传文件by Liu Yue/2019-04-30 标签: 异步 上传 利用 js 文件 vue resource 绑定 双向 前端 机制 之前介绍了一个基于jquery的uploadify插件,可以用来上传文件:Django2.0.4+Uploadify3.0(h5版) 实现多文件异步上传和删除 但毕竟这是面向过程基于节点的插件,如果前端使用vue.js的脚手架,就要入乡随俗,利用vue.js自带的vue-resource来实现异步上传视频文件 首先安装 vue-resource 没必要全局安装,所以只在需要用到的项目中安装即可 cnpm install......了解更多
解决Django2.0.4+kindeditor4.11 跨域上传文件的问题by Liu Yue/2019-04-18 标签: 问题 上传 文件 Django2.0 跨域 kindeditor4.11 解决 在之前的一篇文章中介绍了如何将富文本kindeditor结合到django中:Django2.0.4 结合 KindEditor 4.1.11 富文本编辑器 在同域环境中是没有问题的,换句话说,也就是上传接口如果部署在前端页面同一个域名下是没有问题的,然而美多商城的系统架构是前后端分离,前端页面是vue.js服务,后端接口是django服务,分别部署在不同的服务器上,如果在vue.sj页面中想要使用kinde......了解更多
Django2.0.4+Uploadify3.0(h5版) 实现多文件异步上传和删除by Liu Yue/2019-03-25 标签: 实现 异步 上传 文件 Django2.0 Uploadify3.0 h5 删除 已经9012年了,如果你的网站还通过传统表单上传文件的话,那你简直low到爆了,也别干什么web开发了,直接面壁去吧。 本文基于Uploadify异步上传控件来实现多文件异步上传的无刷新机制,用来提高效率和用户体验,由于uploadify基于jquery,所以确保已经引入了稳定版的Jquery,另外需要说明的是,uploadify分为flash版和h5版,鉴于flash早就已经被淘汰了,所以h5才是我们的选择,但是h5版居然需......了解更多
Django通过xlwt用文件流的方式下载excel文档by Liu Yue/2017-04-24 标签: excel 文件 Django xlwt 文档 下载 方式 通过 通过文件流的方式直接在浏览器下载可以节省服务器的硬盘空间,也比较方便快捷import xlwtimport StringIOimport weburls = ( '/rim_request','rim_request', '/rim_export','rim_export', '/(.*)', 'index')class rim_export: #render = web.template.render('adsl') def GET(self):......了解更多
利用grunt插件来压缩js和css文件用来减少http请求,提高页面效率by Liu Yue/2018-02-20 标签: 用来 页面 利用 插件 grunt js css http 压缩 请求 效率 文件 减少 提高1.安装nodejs http://nodejs.org/ 2.安装各自的node package js我用的是UglifyJS github地址:https://github.com/mishoo/UglifyJS css我用的是clean-css github地址:https://github.com/GoalSmashers/clean-css 图片用的是node-......了解更多