首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java servlets构建firefox扩展(XPI包)

使用Java servlets构建firefox扩展(XPI包)
EN

Stack Overflow用户
提问于 2009-11-11 12:31:56
回答 4查看 1.5K关注 0票数 1

我正在尝试使用Java servlet构建一个xpi文件。如果我在servlet中使用以下代码将xpi作为zip返回-

代码语言:javascript
复制
response.setContentType("application/zip");
response.setHeader("Content-Disposition","inline;filename=xpitest.xpi;"); 

上面的代码一切正常。我可以将文件保存到文件系统并安装它。

但是,如果我尝试返回具有以下标头和contenttype的文件-

代码语言:javascript
复制
response.setContentType("application/x-xpinstall");
response.setHeader("Content-Disposition","filename=xpitest.xpi;");

在客户端,firefox识别出该文件是一个xpi包,并显示安装选项。但是,当我试图安装它时,我得到这个错误-“不是一个有效的安装包- 207”

有人能建议我在setContentType()和setHeader()中使用什么吗?

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2009-11-11 12:57:34

点击"Add to Firefox“后,来自addons.mozilla.org的流量嗅探显示,您所需要的只是设置为application/x-xpinstall的Content-Type和正确的Content-Length。你可以尝试同样的方法。以下是报头:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2009-11-11 17:59:28

这只是一个猜测,但是,由于您返回的是压缩后的应用程序,而不是.xpi,我想您必须使用.xpi/zip?如果.xpi本质上不是压缩的,那么压缩的.xpi本身就不是有效的。以未压缩的方式发送如何?

票数 0
EN

Stack Overflow用户

发布于 2009-11-12 02:28:47

您的第二个response Content-Disposition字段缺少inline关键字,这可能是一个原因?

同样,正如Murali建议的那样,您应该将Content-Length设置为一个实际值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1713026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档