当前位置: 首页 > 知识库问答 >
问题:

JMeter 400错误文件上载

申博厚
2023-03-14

我试图使用JMeter来测试上传文件的宁静endpoint,但我得到了一个400错误。我突然想到的一件事是边界值;我提供的和请求中显示的不一样。我可以在浏览器中毫无问题地使用endpoint,并且我已经复制了FF中开发人员工具中显示的标题。

以下是JMeter提供的相关信息:

结果选项卡:

线程名称: Asdf-Load Test 1-1

样本开始时间:2017-06-05 08:47:46美国东部夏令时

装载时间:159

接通时间:28

延迟:159

大小(字节):438

发送字节:821003

标题大小(字节):438

正文大小(字节):0

样本数:1

错误计数:1

数据类型(“文本”|“bin”|“”):

答复代码:400

响应消息:请求错误

响应标题:

HTTP/1.1400错误请求

日期:2017年6月5日星期一12:47:46 GMT

服务器:Apache/2.4。25(Win64)OpenSSL/1.0。2k

缓存控制:无缓存,无存储,最大年龄=0,必须重新验证

Pragma:没有缓存

过期日期:0

严格的交通安全:最大年龄为31536000岁;包含子域

X-XSS-Protection:1;模式=块

X-Frame-选项:DENY

X-内容-类型-选项

缓存控制:没有缓存,必须重新验证

内容长度:0

连接:关闭

HTTPSampleResult字段:

内容类型:

数据编码:空

请求选项卡:

后https://localhost/my/rest/endpoint

POST数据:

--9amm365-gMmimP70lvs9jIvlIxOfkocUN

内容-处置:表单-数据;名称="可解析";文件名="asdf.docx"

内容类型:应用程序/vnd。openxmlformats-

官方文件。wordprocessingml。文件

内容传输编码:二进制

--9amm365-gMmimP70lvs9jIvlIxOfkocUN--

[没有饼干]

请求标头:

连接:保持活力

内容类型:多部分/表单数据;边界=--Uc_2uLvcVgc7SqvzIJxR3encUKw-f7w9

接受编码:gzip,deflate,br

接受语言:en-US,en;q=0.5

接受:application/json、text/plain、/

X-Request-OnBehalfOf:某个用户uuid

X-request-With:XMLHttpRequest

内容-长度: 820532

主机:本地主机

用户代理:ApacheHttpClient/4.5。3(Java/1.8.0_121)

响应数据选项卡为空。

服务器端实现:

@POST
@Override
@EnhancedDetail
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("my/rest/endpoint")
public Response uploadProduct(@PathParam("id") final String id, MultiPart multipart) throws IOException {
    return processMultiFileUpload(id, multipart, MultiPartUploadType.DRAFT, false);
}

共有2个答案

苗森
2023-03-14

我想通了。我将HTTP请求上的客户端实现更改为Java。我所读到的一切都说使用HttpClient4,但我尝试了Java,它起作用了。

魏岳
2023-03-14

如果您像JMeter文章中测试REST API文件上传中描述的那样手动构建请求,请确保您没有选中HTTP请求采样器的POST框。

反之亦然,如果勾选此框,则不需要覆盖Content-Type标头

我相信最简单的方法是使用HTTP(S)测试脚本记录器记录您的文件上传事件(只需确保您的asdf.docx文件被复制到JMeter安装的bin文件夹)

 类似资料:
  • 我是一个使用struts2文件上传和我的动作类包含3私人文件与getter和setters 我有一些疑问要澄清 > 每当我使用myFileVariableName“FileName”(如果文件变量是myFile,那么文件名变量是MyFileFileFileName,如果文件是xxx,那么文件名是xxxFileName),我就会得到输出,如果我对此格式(即myFileVariableName“Fil

  • 我正在使用PHP构建一个web应用程序。我正在创建一个文件上传部分,但我有问题。 上载php: 对于图像来说,它工作得很好。但当我尝试检查上传mp4文件时会发生什么情况。它的回声文件已经存在,对不起,只有JPG,JPEG,PNG

  • 问题内容: 所以我一直在试图找出如何在echonest服务器上上传文件进行分析,但是我无法,实际上在:Track track = echoNest.uploadTrack(file,true);之后什么也没发生。 在Internet上搜索时遇到了类似的问题,但找不到解决方案。 http://archive- com.com/page/3694036/2014-02-11/http://develo

  • 问题内容: 所以我一直在试图找出如何在echonest服务器上上传文件进行分析,但是我无法,实际上在:Track track = echoNest.uploadTrack(file,true);之后什么也没发生。 在Internet上搜索时遇到了类似的问题,但找不到解决方案。 http://archive- com.com/page/3694036/2014-02-11/http://develo

  • 本文向大家介绍PHP 处理文件上传错误,包括了PHP 处理文件上传错误的使用技巧和注意事项,需要的朋友参考一下 示例 该$_FILES["FILE_NAME"]['error'](其中"FILE_NAME"是文件输入,存在于你的表单的名称属性的值)可能包含以下值之一: UPLOAD_ERR_OK -没有错误,文件上传成功。 UPLOAD_ERR_INI_SIZE-上载的档案超过中的upload_m

  • 我正在创建一个API上传文件使用泽西。 } } 当我执行curl-v-X POST时——form file=@rt.txt url 我哪里做错了?

  • 问题内容: 错误 我在Java项目中使用wsimport来生成三个SOAP Web服务的源。前两个可以正常工作:我使用JAX-WS Maven插件来获取WSDL文件并生成相应的Java源文件。 对于一个Web服务,此操作失败。我收到以下错误: 罪犯 此WSDL文件与有效文件之间的区别在于错误消息中指出的行(第80、127和142行): 注意:wsdl文件的根元素定义“ s”名称空间,因此: 我尝试