Jmeter-图像以二进制/残破图像的形式上传到s3

时间:2019-02-26 09:20:31

标签: amazon-s3 jmeter

我正在将请求发送到名为path-generator的服务器服务,该服务会为我提供一个生成的url,并将图像上传到该url,该图像会将图像移动到s3存储桶。 我可以将文件上传到存储桶中,但会以损坏的图像形式到达(当我使用“ Accept:application / json,text / plain”标头上传文件时)

header with broken image

或当不使用标题时为'Content-Transfer-Encoding:binary'

put image-no header

enter image description here

请求:

带有标头:

连接:保持活动状态

内容类型:image / png

接受:应用程序/ json,文本/纯文本 :

内容长度:201571

主持人:{some host}

User-Agent:Apache-HttpClient / 4.5.6(Java / 11.0.1)

不带标题:

连接:保持活动状态

内容类型:application / json

内容长度:221702

主持人:{some host}

User-Agent:Apache-HttpClient / 4.5.6(Java / 11.0.1)

我正在使用与客户端完全相同的流程,因此我在使用Jmeter时一定出错了

2 个答案:

答案 0 :(得分:0)

Use multipart/form-data框内打勾时,JMeter不使用Content-Type中指定的HTTP Header Manager标头,这很可能是请求失败的原因。

尝试使用HTTP(S) Test Script Recorder记录文件上传请求(确保将文件复制到JMeter安装的“ bin”文件夹中),以查看JMeter是否能够正确捕获上传请求。如果是,那么您应该很好。如果不是,则必须将JMeter配置修改为100%匹配request specification,请查看Testing REST API File Uploads in JMeter文章以获取示例测试计划。

答案 1 :(得分:0)

S3 PUT请求仅需要文件内容,而无需其他字段。

不传递参数名称和MIME类型,仅正确传递filePath。如果需要,请添加标头Content-Type: image/jpgvideo/mp4(如果是视频)。对于pdf,文本等也是如此。

此外,当您下载损坏的文件并在notepad ++中打开它时 以及用于在记事本++中上传的实际文件 您会看到其中的区别:损坏的文件中包含一些额外的文本。如果将其删除,它将按预期运行

也不要尝试使用记事本,只能使用notepad ++。