我应该将图像转换为数组字节,并将其与目标位置一起发送到 Webservice 中。 我有这个用beanshell编写的代码
File file = new File("\\PICS\\k6.jpg");
FileInputStream in = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int i=0;
for (int i; (i = in.read(buffer)) != -1; )
{
bos.write(buffer, 0, i);
}
in.close();
byte[] imageData = bos.toByteArray();
bos.close();
vars.put("imageData", new String(imageData));
我正面对这个错误 - 在文档的元素内容中找到了无效的XML字符(Unicode:0x0)。
变量" imageData"似乎是ASCII,但如何与请求一起发送。我需要数组对象
答案 0 :(得分:2)
尝试将以下行添加到脚本顶部:
import org.apache.commons.lang.StringEscapeUtils;
并将最后一行更改为如下所示:
vars.put("imageData", StringEscapeUtils.escapeXml(new String(imageData)));
UPD:端到端代码
import org.apache.commons.lang.StringEscapeUtils;
File file = new File("/home/glinius/test.html");
FileInputStream in = new FileInputStream(file);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
for (int i; (i = in.read(buffer)) != -1; ) {
bos.write(buffer, 0, i);
}
in.close();
byte[] imageData = bos.toByteArray();
bos.close();
vars.put("imageData", StringEscapeUtils.escapeXml(new String(imageData)));