在“动态”Java图像生成中指定图像名称

时间:2011-06-28 07:51:55

标签: java java-ee javax.imageio

我有一些从头开始生成图像的java代码。

我还有一个servlet根据一些参数提供图像(fyi,它是QR码生成)。

我想为此图片指定一个名称,以防有人右键单击并保存。浏览器当前将相对URL作为名称(即生成),并且没有扩展名。

你有什么想法吗?

谢谢, 亚历。

2 个答案:

答案 0 :(得分:1)

使用漂亮的网址对图片进行编码 我想现在你正在做像

这样的事情
generateServlet?product=27&query=5

相反,将其映射到

images/qr/product27_q5.png

这样,浏览器只会看到好的网址,并建议将其作为文件名。它还会更多地隐藏您的实施。

只需将您的servlet映射到images/qr/*,然后使用正则表达式从请求的路径中提取实际参数。

您甚至可以根据提供的扩展名生成不同的图像类型:)

答案 1 :(得分:1)

    resp.setContentType("image/jpg");
    resp.setHeader( "Content-Disposition", "attachment; filename=\"" + your_filename + "\"" );