我正在尝试从FTP检索zip文件,解压缩它,并从中获取xml文件和图像文件并解析xml,显示xml和image的内容。
byte[] image = ftpClientService.getThumbnailInZip(customer.ftpUser,
customer.ftpPassword, customer.ftpHost, customer.ftpToWrapDirectory,
fileName)
FileOutputStream fos1 = new FileOutputStream("zip.img")
try {
fos1.write(image);
} finally {
fos1.close();
}
return [
command: this,
fileName: fileName,
applicationName: applicationName,
contentProvider: contentProvider,
operatingSystem: operatingSystem,
handSets: handSets,
zipImg:"zip.img" ]
我可以成功完成xml部分和图像也能够以字节格式从zip中检索(我可以使用文件输出流将其转换为文件),
现在我被困在将图像发送到gsp并显示它。任何投入都非常感激。
由于
答案 0 :(得分:2)
如果您只想使用图像一次,这意味着它应该始终从zip文件中提取,然后将img以base64格式嵌入到网页中是一个很好的选择,因为您不需要担心图像将该base64编码值发送到gsp后的文件。
如果您仍然需要该图像文件供其他http请求使用,那么您应该将图像提取到文件夹并将img路径列表发送到gsp。
答案 1 :(得分:0)
你可以
img src="${g.createLink(action: 'a', params: [p: p])}"
指向要在服务器端缓存图片的其他操作(createLink),答案 2 :(得分:0)
如果指定格式,浏览器可以呈现字节数组。
将模型中的变量image
发送到byte[]
类型的gsp,这是将其呈现为HTML的方式:
<img src="data:image/png;base64,${image.encodeBase64()}"/>
您还需要指定它是image/png
还是其他格式。