在 Domino 中创建 wget

Creating wget in Domino

我正在尝试实现一项功能,即在 Domino 系统上调用代理时 returns 一个 zip 文件。所以 domino 是 returns 一个 zip 文件的网络服务器。

第 3 方应用程序会使用类似于 wget 语句的东西来调用基于多米诺骨牌的系统 url,他们会得到一个 zip 文件。

有没有人已经实现了这种想法,我们可以分享想法或提出建议。

提前致谢。

这可以通过使用 java.util.zip 和 xpage

来实现
if (doc != null)
                {
                    Vector<String> attachments = (Vector<String>) s.evaluate("@AttachmentNames", doc);
                    if (attachments != null)
                    {
                        if (attachments.size() > 0)
                        {
                            HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
                            this.setHeaders(response, zipFileName);
                            ZipOutputStream zipOutStream = new ZipOutputStream(response.getOutputStream());
                            EmbeddedObject embeddedObj = null;
                            BufferedInputStream bufferInStream = null;
                            for (String attName : (Vector<String>) attachments)
                            {
                                embeddedObj = doc.getAttachment(attName);
                                if (embeddedObj != null)
                                {
                                    if (embeddedObj.getType() == EmbeddedObject.EMBED_ATTACHMENT)
                                    {
                                        bufferInStream = new BufferedInputStream(embeddedObj.getInputStream());
                                        int bufferLength = bufferInStream.available();
                                        byte[] data = new byte[bufferLength];
                                        bufferInStream.read(data, 0, bufferLength);
                                        ZipEntry entry = new ZipEntry(embeddedObj.getName());
                                        zipOutStream.putNextEntry(entry);
                                        zipOutStream.write(data);
                                        zipOutStream.closeEntry();
                                        bufferInStream.close();
                                        try
                                        {
                                            embeddedObj.recycle();
                                        } catch (Exception ex2)
                                        {
                                            OpenLogItem.logError(ex2);
                                        }

                                    }
                                }
                            }
                            zipOutStream.flush();
                            zipOutStream.close();
                        }
                        result = true;
                        facesContext.responseComplete();
                    }
                    doc.recycle();
                }



private void setHeaders(HttpServletResponse response,String zipFileName)
{
    try{
    response.setContentType("application/octet-stream");
    response.setDateHeader("Expires", 0);
    response.setHeader("Pragma", "Public");
    response.setHeader("Content-Description", "File Transfer");
    response.setHeader("Content-Disposition", "attachment; filename=" + zipFileName);
    response.setHeader("Content-Transfer-Encoding", "binary");
    }
    catch(Exception ex)

    {
        OpenLogItem.logError(ex);
    }

}

只需将 zip 文件存储在服务器上 Notes 数据库中的文档中。 URL 的形式为:

 www.yourHost.com/your Path/yourDatabase.nsf/viewUNID/docUNID/$File/yourFilename.zip

使用任何你想取回它的工具。

(当然,这假定服务器已正确设置为支持 HTTP。)