我只有一小段Java代码,必须将这些代码合并到Jmeter中才能将图像转换为base64。
File f = new File("C:/Users/SETU BASAK/Desktop/a.jpg");
String encodstring = encodeFileToBase64Binary(f);
System.out.println(encodstring);
}
private static String encodeFileToBase64Binary(File file){
String encodedfile = null;
try {
FileInputStream fileInputStreamReader = new FileInputStream(file);
byte[] bytes = new byte[(int)file.length()];
fileInputStreamReader.read(bytes);
encodedfile = Base64.encodeBase64(bytes).toString();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return encodedfile;
}
答案 0 :(得分:1)
将文件构建为jar文件,并将其放在apache-jmeter软件包的lib文件夹中。 然后在脚本中添加BeanShell Sampler并为类添加对象,然后在方法中传递文件以获取base64值
在 BeanShell Sampler 中, 例如,您的类名称为Base64Conv表示
import com.package.converter;
Base64Conv converter=new Base64Conv();
String imageBase64=converter.encodeFileToBase64Binary(new File("path to your file"));
然后在需要的地方使用$ {imageBase64}
答案 1 :(得分:1)
建议使用内置的JMeter test elements或functions或plugins,因为这样您将具有最高的性能和最低的资源消耗,因此可以考虑使用{{3} }和__FileToString()功能组合,例如:
${__base64Encode(${__FileToString(c:/Users/SETU BASAK/Desktop/a.jpg,,)},)}
您可以使用__base64Encode()安装__base64Encode()
和其他自定义功能
new File("C:/Users/SETU BASAK/Desktop/a.jpg").getBytes().encodeBase64().toString()
两种方法都应产生相同的Base64字符串: