자바 성능 도구 JMeter 업로드 및 다운로드 스 크 립 트 작성
성능 테스트 작업 중 파일 업로드 도 자주 볼 수 있 는 성능 테스트 장면 중 하나 입 니 다.그러면 JMeter 파일 업로드 다운로드 스 크 립 트 는 어떻게 합 니까?
지식 포인트:
자바 파일 업로드 및 다운로드 기능 구현
파일 작업 에 관 한 자바 API 를 먼저 배 워 보 세 요:
1.구조 방법
1.서비스 다운로드 코드
/**
* @author 7d
* @Title: FileController
* @Description:
* @date 2019/12/13 / 21:00
*/
@Controller
@RequestMapping("/file/")
public class FileController {
/**
*
*
* @param fileupload
* @return msg
*/
@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", " ");
}
/**
*
*
* @param name
* @param response
* @return mgs
* @throws Exception
*/
@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/[email protected]/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/[email protected]/dist/html5shiv.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/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/[email protected]/dist/jquery.min.js"></script>
<!-- Bootstrap JavaScript 。 。 -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/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.실행 효과4.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();
총화이상 은 간단하게 소개 할 뿐 지식 포 인 트 는 자바 파일 작업,디 렉 터 리 작업,http 요청 등 과 관련 된 정보 가 많 습 니 다.
문장 원본:
https://github.com/zuozewei/blog-example/tree/master/Performance-testing/01-test-tool/jmeter/file/sdechartsjs
자바 성능 도구 인 JMeter 가 스 크 립 트 를 업로드 하고 다운로드 하기 위해 작성 한 글 을 소개 합 니 다.더 많은 관련 JMeter 업로드 와 다운로드 스 크 립 트 작성 내용 은 이전 글 을 검색 하거나 아래 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
프록시 부하 및 일본어로 JMeter4.0 시작JMeter4.0을 도입했을 때에, 일본어화와 프록시의 설정으로 손질 했으므로, 잊지 않는 안에 순서를 기재합니다. 웹 서버의 부하 테스트를 실시할 수 있는 PC 소프트웨어입니다. 다음 환경에 도입했습니다. Apac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.