vue在线测试(vue 测试)

本文主要介绍vue在线测试(vu测试),下面一起看看vue在线测试(vu测试)相关资讯。
搜索【大旗测试凯】,关注这个坚持分享在测试发展干货的家伙。
让 让我们回顾一下在本系列的第八次分享中给出的预期产品原型和需求。下图与前两节大体相似,只是一般的测试报表要写的内容可能更多,所以使用了一些多行输入框组件。另一个特殊的新功能操作是附件上传,这是首先要解决和掌握的重点内容。
后端服务保存附件,写一个上传接口,服务器通过r: # save _ path = os . path . join(os . path . abs path(os . path . dirname(_ _ file _ _))。( 全员生产性维护服务。;)[0],tpm service/static ;)# get file attfile = request . files . get( ;文件 )attfile . save(os . path . join(save _ path,attfile . filename))return { 代码 : 200 信息与广告: 上传请求成功。
在这里上传文件,一般来说,你可以 不要无限制地上传文件。需要在格式和大小上做一些限制,需要做一些安全处理。是通过filefield做格式限制等要求,使用secure_filename做文件名安全处理。
优化后,完整的代码被分成两个片段。
1.引入依赖关系并创建fileform类。
?12345678910 importos #中涉及的相关依赖项refer from wt forms import form,filefield from mask _ wtf.file import必选,filallowedfromwerkzeug。来自werkzeug的utils importsecur: fil: #初始化返回对象resp _ success = format。resp _ format _ succ: #获得项目路径保存文件夹,则合成服务保存绝对路径save _ path = os . path . join(os . path . abspath(os . path . dirname(_ _ file _ _))。( 全员生产性维护服务。;)[0], tpm服务/静态和。;)#获取选择通过表单上传的文件attfile = re表单提交的数据。quest . files . get( ;文件 )#执行安全名称检查处理file _ name = secure _ filename(attfile . filename)# save attfile . save(os . path . join(save _ path,file _ name))resp _ succ:文件名} return resp _ succ: r测试下载的。如果我没有。;t设置全局限制,除了慢我都能上传成功,而且我搜索了源代码max_content_length = none,可能是版本原因。现在没有这个限制了。
?1从flash导入flash,request app = flash(_ _ name _ _)app . config[ ;最大内容长度。;] = 16 * 1000 * 1000关于上传flas件的更多解释和例子请参考【链接1】。还有一个第三方插件,可以友好的操作文件【链接2】,但是这两种都是全局控制的。如果想分别控制不同接口的大小,现在尝试的是读取文件,得到长度len(attfile.read),实际上就是字节大小,然后比较返回。如果你有更好的方案,请告诉我。
文件上传接口完成后,下载接口必不可少。这个比较简单,通过flask提供的send_from_directory方法实现。代码如下。详细解释请参考【链接1】的后半部分。
?123456789101112 from flask import send _ from _ directory @ t: fime name = request . args . get( ;姓名和名称。;)#保存文件的相对路径save _ path = os . path . join(os . path . abspath(os . path . dirname(_ _ file _ _))。。( tpmservice )[0], tpm服务/静态 )result = send _ from _ directory(sav测试,效果如图。一开始是巨大的提示,然后正常上传返回成功结果。
刷新以检查代码服务的存储位置。文件已正确上传。
下载的测试可以通过浏览get请求服务路径/api/file/download?=用于下载验证的文件名。
用于实现前端vue的组件是 上传 ,并且官网给出了多种样式和,如多文件、头像上传、拖拽上传、列表形式等。详情请参考【链接3】。
如图,其中action为上传地址,这一块可以换成新实现的上传接口 127 . 0 . 0 . 1 : 5000/api/report/upload,表示上传地址。默认选择文件后自动上传,实际上是帮助你实现postman呈现的表单文件自动提交。你可以通过设置:自动上传= 虚假 ,或者您可以通过http-r:on-success钩子打印上传成功的返回信息。
?123456789101121314151617181920212223242627293031323343536模板div class = 应用程序-容器 表单项目标签= 附件 prop = 测试文件 埃尔上传。1 : file-list = 文件列表 :auto-upload = 真实 动作= http:// 127 . 0 . 0 . 1 : 5000/api/report/upload .com on-success = 上传文件 el-buttonsize = 小 type = 小学和初中点击上传/el-button div slot = 小费和小费class = el-upload _ _ tip 仅限jpg/png/ zip/pdf文件,不超过1m/div/el-upload/el-form-item/el-form/div/template scriptexportdefault { name : ;演示上传 ,data{ r:[]} },m: { uploadfil测试,可以看到正常返回2000,可以正常获取钩子中的三个参数信息。其实后面的报表函数就是获取返回的文件名,赋给一个变量。
在测试的另一个案例中,文件格式不符合要求,大小超出了服务器的限制。发现文件格式为40000,但仍显示fil:on-success优化添加模式代码如下:
?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566768697071727374757778798081828384858687888990 template div class = 应用程序-容器 表格项目实验室实现一个 prop = 测试文件 el-上传ref = 文件一 : limit = 1 : file-list = 文件列表 :auto-upload = 真实 行动。cho 11-@ . com 127 . 0 . 0 . 1 : 5000/api/report/upload .com on-success = 上传成功与失败.com on-error = 上传错误 el按钮大小= 小 type = 小学和初中点击上传/el-button div slot = 小费和小费class = el-upload _ _ tip 只能上传jpg/png/zip/pdf文件。并且不超过10m/div/el-upload/el-form-item el-form-item label = 实施2 prop = 测试文件 el-上传: limit = 1 : file-list = 文件列表 动作= http:// 127 . 0.1 : 5000/api/report/upload : http-request = 上传文件: on-成功= 上传成功el按钮大小= 小 type = 小学和初中点击上传/ el按钮小费和小费class = el-upload _ _ tip 只能上传jpg/png/zip/pdf文件,文件大小不能超过10m/div /el-upload /el-form-item。/el-form/div/template script从 axios和。;出口默认{ nam: ;演示上传 ,data{ r:[],fil: ; } }、m: { upload success(响应,文件,文件列表){if(响应。code = = = 40000){这个。$ message({ message : ;格式不正确或上传不正常。;,type : ;警告 })这个。file list = []} else {this。$ message({ message : ;上传成功 ,type : ;成功 })}}上传错误(err,file,file list) {this。$ message({ message : ;大小不符合要求或服务器不正常。;,type : ;警告 })},upload defile(params){ console . log(params . file)const fd = new formdatafd . append( ;文件 ,params . file)fd . append( ;文件名 ,params . file . name)fd . append( ;异步 ,true)const config = { h: { ;cont: ;多部分/形式数据 } } axios。post(params.action,fd,config)。然后(res = { console.log(res.data) })。catch(error = { this . filelist =[]this。$message({ message : ;大小不符合要求或服务器不正常。;,type : ;警告 })} } } }/脚本
为什么要讲一个带自动上传的自定义上传?这里有两点:
到目前为止,验证都是靠后端,但实际上服务器端的验证是后验证,文件已经上传了。如果文件很大或者很大,会占用io,可以自定义提交进行一些前端上传验证。
作为惯例,尽量给大家走一趟坑。官方并没有给出:on-succ测试,通过uploaderrors钩子或者axios catch(错误)捕获实现。
到目前为止,这篇文章的分享就是关于这些内容的。下一次,我们将完成报告部分,即平台的第一阶段。顺便说一下,我们还将公布上次调查的结果和一些后续安排。欢迎大家继续关注和交流。可以通过私信或者官方账号联系,加入群。
[参考链接]
【链接1】 . readthedocs . io/://element.eleme.io/#/zh-cn/component/upload
坚持原创,坚持实践,坚持干货。如果觉得有用,请点击推荐。也欢迎大家关注我的博客公园和官方账号。
标签:
上传文件
了解更多vue在线测试(vu测试)相关内容请关注本站点。

装机配置方案(装机配置教程)
更换硬盘多少钱,什么硬盘质量最好最耐用
苹果手机照片删除后为什么还会有图标(苹果手机照片删除后为什么还会有图标)
win7和win10哪个好用2021(win7和win10哪个更好)
win11安装完要输入密码(windows 11安装过程)
vue在线测试(vue 测试)
40006000游戏本推荐,求大神推荐几台游戏本4000到6000元
苹果xr闪退是怎么回事啊(苹果xr闪退是什么原因)
惠普笔记本黑屏后怎样唤醒,HP电脑睡眠唤醒
传奇登陆黑屏(传奇游戏黑屏怎么弄)
小白系统在线安装教程(小白系统官网电脑版)
笔记本电脑功率最大多少万瓦,笔记本电脑的功率多大
怎么关掉appstore自动续费(怎么取消appstore自动续费的软件)
windows 7怎么改时间(windows7电脑时间怎么改)
永恒之塔怀旧服配置要求(永恒之塔怀旧版配置要求)
php投票代码(php投票系统代码)
如何进入一键还原系统,如何启动一键还原
何为硬盘分区及其方法,硬盘分区是什么有什么用新电脑1TB 7200转硬盘和128G 固态硬
苹果笔记本能不能用固态m2(m2硬盘可以装在苹果笔记本上)
win7怎么恢复默认的用户配置文件(win7怎么恢复默认的用户配置文件格式)