iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java性能工具JMeter实现上传与下载脚本编写
  • 765
分享到

Java性能工具JMeter实现上传与下载脚本编写

2024-04-02 19:04:59 765人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、前言二、预备知识1、构造方法2、创建功能3、重命名和删除功能4、获取功能三、Java 实现文件上传下载功能1、服务下载代码2、前端代码3、运行效果四、jmeter 文件上传与

一、前言

性能测试工作中,文件上传也是经常见的性能压测场景之一,那么 JMeter 文件上传下载脚本怎么做?

知识点:

  • Java 实现文件上传下载功能
  • JMeter 文件上传与下载脚本编写

二、预备知识

学习下 Java api 关于文件操作的 API:

1、构造方法

  • File(File parent, String child):根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
  • File(String pathname):通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
  • File(String parent, String child):根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
  • File(URI uri):通过将给定的 file URI 转换为一个抽象路径名来创建一个新的 File 实例。
  • public boolean createNewFile():创建文件 如果存在这样的文件,就不创建了

2、创建功能

  • public boolean mkdir():创建文件夹 如果存在这样的文件夹,就不创建了
  • public boolean mkdirs():创建文件夹,如果父文件夹不存在,会帮你创建出来

3、重命名和删除功能

  • public boolean renameTo(File dest):把文件重命名为指定的文件路径
  • public boolean isDirectory():判断是否是目录
  • public boolean isFile():判断是否是文件
  • public boolean exists():判断是否存在
  • public boolean canRead():判断是否可读
  • public boolean canWrite():判断是否可写
  • public boolean isHidden():判断是否隐藏

4、获取功能

  • public String getAbsolutePath():获取绝对路径
  • public String getPath():获取路径
  • public String getName():获取名称
  • public long length():获取长度。字节数
  • public long lastModified():获取最后一次的修改时间,毫秒值
  • public String[] list():获取指定目录下的所有文件或者文件夹的名称数组
  • public File[] listFiles():获取指定目录下的所有文件或者文件夹的File数组

三、Java 实现文件上传下载功能

1、服务下载代码



@Controller
@RequestMapping("/file/")
public class FileController {


    
    @PostMapping("fileupload")
    @ResponseBody
    public Msg upload(@RequestParam("fileupload") MultipartFile fileupload) {

        if (fileupload.isEmpty() || fileupload.getSize() < 0) {
            return Msg.fail().add("mgs", "文件为空,上传失败!");
        }
        // 获取文件名字
        String fileName = fileupload.getOriginalFilename();
        // 获取后缀名
        // String suffixName = fileName.substring(fileName.lastIndexOf("."));
        // 文件保存路径
        String filePath = "E:\\test\\7d\\upload\\";
        // 文件重命名,防止重复
        fileName = filePath + UUID.randomUUID() + fileName;
        // 文件对象
        File dest = new File(fileName);
        // 判断路径是否存在,如果不存在则创建
        if (!dest.getParentFile().exists()) {
            dest.getParentFile().mkdirs();
        }
        try {
            // 保存到服务器中
            fileupload.transferTo(dest);
            return Msg.success().add("mgs", "文件上传成功");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return Msg.fail().add("mgs", "文件上传失败");
    }


    
    @GetMapping("download")
    public void download(@RequestParam("filedown") String name, httpservletResponse response) throws Exception {
        if (name.isEmpty()) {
            return;
        }
        // 文件地址,真实环境是存放在数据库表中
        File file = new File("E:\\test\\7d\\upload\\" + name);
        //判断文件是否存在
        if (!file.exists()) {
            return;
        }
        // 文件对象输入流
        FileInputStream fis = new FileInputStream(file);
        // 设置相关格式
        response.setContentType("application/force-download");
        // 设置下载后的文件名以及header
        response.addHeader("Content-disposition", "attachment;fileName=" + name);
        // 创建输出对象
        OutputStream os = response.getOutputStream();
        // 常规操作
        byte[] buf = new byte[1024];
        int len = 0;
        while ((len = fis.read(buf)) != -1) {
            os.write(buf, 0, len);
        }
        fis.close();
        return;
    }

}

2、前端代码


<!DOCTYPE html>
<html lang="zh-CN" xmlns:th="Http://www.thymeleaf.org">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>文件上传下载</title>
    <meta name="description" content="文件上传下载">
    <meta name="author" content="liwen">
    <!-- Bootstrap -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/CSS/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
    <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
    <!--[if lt IE 9]>
    <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
    <![endif]-->
</head>
<body>
<div class="container">
    <h1>你好,我好,大家好!</h1>
    <br>
    <div>
        <h2>文件上传</h2>
        <fORM id="fileupload" enctype='multipart/form-data'>
            <input type='file' name='fileupload'>
            <button type='button' class="btn  btn-primary" onclick="uploadFile()">上传</button>
        </form>
    </div>

    <div>
        <h2>文件下载</h2>
        <form th:action="@{/file/download}" action="/file/download" method="get">
            <input type='text' name='filedown'>
            <button type='submit' class="btn  btn-primary">下传</button>
        </form>
    </div>

    <!-- Jquery (Bootstrap 的所有 javascript 插件都依赖 jQuery,所以必须放在前边) -->
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
</div>
</body>
<script>

    //文件上传
    function uploadFile() {
        //FormData是html5的接口,使用它一行代码便可以拿到整个form表单对象:
        var form = new FormData(document.getElementById("fileupload"));
        $.ajax({
            url: "/file/fileupload",
            type: "post",
            data: form,
            cache: false,
            processData: false,
            contentType: false,
            success: function (data) {
                if (data.code == 100) {
                    alert(data.extend.mgs);
                } else {
                    alert(data.extend.mgs);
                }
            },
            error: function (e) {
                alert("网络错误,请重试!!");
            }
        });
    }

</script>
</html>

3、运行效果

在这里插入图片描述

四、JMeter 文件上传与下载脚本编写

打开 Jmeter 并且创建线程组、http 请求。

1、文件上传脚本

在这里插入图片描述

在这里插入图片描述

注意:

在这里插入图片描述

验证结果:

在这里插入图片描述

在这里插入图片描述

2、文件下载脚本

在这里插入图片描述

在这里插入图片描述

参考代码:


import java.io.*;
byte[] result = prev.getResponseData();
String file_name = "E:\\test\\7d\\data\\2222.ico";
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();

五、总结

以上只是简单介绍,知识点很多涉及 Java 文件操作,目录操作,http 请求等信息。

文章源码

https://GitHub.com/zuozewei/blog-example/tree/master/Performance-testing/01-test-tool/jmeter/file/sdechartsjs

到此这篇关于Java性能工具JMeter实现上传与下载脚本编写的文章就介绍到这了,更多相关JMeter上传与下载脚本编写内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java性能工具JMeter实现上传与下载脚本编写

本文链接: https://www.lsjlt.com/news/130921.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java性能工具JMeter实现上传与下载脚本编写
    目录一、前言二、预备知识1、构造方法2、创建功能3、重命名和删除功能4、获取功能三、Java 实现文件上传下载功能1、服务下载代码2、前端代码3、运行效果四、JMeter 文件上传与...
    99+
    2024-04-02
  • java实现上传和下载工具类
    本文实例为大家分享了文件上传到ftp服务工具类,供大家参考,具体内容如下直接引用此java工具类就好import java.io.File;import java.io.FileInputStream;import java.io.File...
    99+
    2023-05-31
    java 上传 下载
  • Java实现FTP上传与下载功能
    本文实例为大家分享了Java实现FTP上传与下载的具体代码,供大家参考,具体内容如下 JAVA操作FTP服务器,只需要创建一个FTPClient即可,所有的操作都封装在FTPClie...
    99+
    2024-04-02
  • PHP Linux脚本操作实践:实现FTP上传与下载
    在现代的Web开发中,与服务器之间的文件传输是一个常见的需求。而FTP(File Transfer Protocol)是一种被广泛应用于文件传输的协议。本文将介绍如何使用PHP在Linux环境下实现FTP的上传与下载,并给出具体的代码示例。...
    99+
    2023-10-21
    Linux PHP ftp
  • Java怎么实现的文件上传下载工具类
    小编给大家分享一下Java怎么实现的文件上传下载工具类,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!本文实例讲述了Java实现的文件上传下载工具类。分享给大家供大家参考,具体如下:这是一个在Eclipse环境下采用Java...
    99+
    2023-05-30
    java
  • Spring FTP如何实现上传下载工具类
    这篇文章给大家分享的是有关Spring FTP如何实现上传下载工具类的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有两种。  ...
    99+
    2023-05-30
    spring ftp
  • Java怎么实现FTP的上传与下载功能
    这篇文章主要讲解了“Java怎么实现FTP的上传与下载功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java怎么实现FTP的上传与下载功能”吧!JAVA操作FTP服务器,只需要创建一个F...
    99+
    2023-06-29
  • java实现文件上传下载功能
    本文实例为大家分享了java实现文件上传下载的具体代码,供大家参考,具体内容如下 1.上传单个文件 Controller控制层 import java.io.File; imp...
    99+
    2024-04-02
  • servlet实现文件上传与下载功能
    本文实例为大家分享了servlet实现文件上传与下载的具体代码,供大家参考,具体内容如下 内容 我们分两大模块来进行讲解,即上传的实现,与下载的实现 上传的实现 注意了我们在写上传表...
    99+
    2024-04-02
  • java实现ftp文件上传下载功能
    本文实例为大家分享了ftp实现文件上传下载的具体代码,供大家参考,具体内容如下package getUrlPic;import java.io.ByteArrayInputStream;import java.io.IOException;...
    99+
    2023-05-31
    ftp 上传 下载
  • Java操作FTP实现上传下载功能
    目录FTP简介FTP架构FTP数据连接模式用户认证客户端Vsftp安装与配置启动服务配置文件说明传输模式配置系统用户配置java操作ftp文件服务器1.引入依赖2.提供接口3.对提供...
    99+
    2022-11-13
    Java FTP上传下载 Java FTP上传 Java FTP下载 Java FTP
  • 如何在JAVA项目中利用FTPClient工具类实现一个上传下载功能
    如何在JAVA项目中利用FTPClient工具类实现一个上传下载功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、写一个javabean文件,描述ftp上传...
    99+
    2023-05-31
    java ftpclient ava
  • 【Java编程系列】Minio实现文件上传下载
    热门系列: 【Java编程系列】Amazon S3实现文件上传下载 目录 热门系列: 1、前言 2、Minio实战代码 2.1 Minio环境部署 2.2 Minio的Sdk对接实现 2.2.1 Minio Maven依赖 2.2.2 m...
    99+
    2023-09-02
    minio minio上传下载 minio存储 minio预览 minio永久访问
  • Linux下如何使用Shell脚本实现ftp的自动上传下载
    小编给大家分享一下Linux下如何使用Shell脚本实现ftp的自动上传下载,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!1. ftp自动登录批量下载文件。代码如下:#####从ftp服务器上的/home/data 到 本...
    99+
    2023-06-09
  • JavaWeb Servlet实现文件上传与下载功能实例
    目录前言项目准备文件上传前台页面文件下载资源准备超链接下载后台实现下载总结前言 在上网的时候我们常常遇到文件上传的情况,例如上传头像、上传资料等;当然除了上传,遇见下载的情况也很多,...
    99+
    2024-04-02
  • SpringBoot文件上传与下载功能实现详解
    目录前言1、引入Apache Commons FileUpload组件依赖2、设置上传文件大小限制3、创建选择文件视图页面4、创建控制器5、创建文件下载视图页面前言 文件上传与下载是...
    99+
    2022-11-13
    SpringBoot文件上传 SpringBoot文件下载
  • SpringBoot如何实现文件上传与下载功能
    今天小编给大家分享一下SpringBoot如何实现文件上传与下载功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Sprin...
    99+
    2023-07-02
  • SpringBoot怎么实现文件上传与下载功能
    这篇“SpringBoot怎么实现文件上传与下载功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBoot怎么实...
    99+
    2023-07-06
  • Java+Selenium实现文件上传下载功能详解
    目录简介上传文件下载文件简介 本文主要讲解java代码如何利用selenium操作浏览器上传和下载文件代码教程。 上传文件 常见的 web 页面的上传,一般使用 input 标签或是...
    99+
    2023-01-09
    Java Selenium文件上传下载 Java Selenium文件上传 Java Selenium文件下载 Java Selenium 上传 下载
  • Servlet如何实现文件的上传与下载功能
    这篇文章给大家分享的是有关Servlet如何实现文件的上传与下载功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现条件:需要一个form标签,method为post请求2、form的encType属性值为mu...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作