我正在尝试使用 Java servlet 构建 xpi 文件。 如果我在 servlet 中使用以下代码将 xpi 作为 zip 返回 -
response.setContentType("application/zip");
response.setHeader("Content-Disposition","inline;filename=xpitest.xpi;");
上面的代码一切正常。我可以将文件保存到文件系统并安装它。
但是,如果我尝试返回具有以下 header 和内容类型的文件 -
response.setContentType("application/x-xpinstall");
response.setHeader("Content-Disposition","filename=xpitest.xpi;");
在客户端,firefox 识别该文件是 xpi 软件包并显示“安装”选项。但是,当我尝试安装它时,出现此错误 - “不是有效的安装包 - 207”
有人可以建议我需要使用 setContentType() 和 setHeader() 吗?
谢谢。
最佳答案
点击“添加到 Firefox”后,来自 addons.mozilla.org 的流量嗅探显示,您所需要的只是将 Content-Type 设置为 application/x-xpinstall 和正确的 Content-Length。你也可以尝试一下。以下是标题:
HTTP/1.1 200 OK
Date: Wed, 11 Nov 2009 04:51:03 GMT
Server: Apache
Last-Modified: Thu, 05 Nov 2009 15:10:39 GMT
Accept-Ranges: bytes
Content-Length: 4248
Keep-Alive: timeout=2, max=100
Connection: Keep-Alive
Content-Type: application/x-xpinstall
关于java - 使用 Java servlet 构建 firefox 扩展(XPI 包),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1713026/