目前,我有一个servlet充当web服务。获取二进制文件和文本信息
当我使用POST传递参数时,它会返回一个可执行的二进制文件(application/octet-stream)。但是,除了二进制文件外,我还希望获得有关此二进制文件的附加信息(文本格式)。
是否有可能通过仅使用单个POST请求来实现此目的?但是,怎么可能在单个POST响应中从application/octet-stream切换到text/plain?
目前,我有一个servlet充当web服务。获取二进制文件和文本信息
当我使用POST传递参数时,它会返回一个可执行的二进制文件(application/octet-stream)。但是,除了二进制文件外,我还希望获得有关此二进制文件的附加信息(文本格式)。
是否有可能通过仅使用单个POST请求来实现此目的?但是,怎么可能在单个POST响应中从application/octet-stream切换到text/plain?
这是不可能的在单个响应中更改MIME类型。
但是,我认为可以使用HttpServletResponse.addHeader
方法将附加信息放入响应标题中。
在单个POST中,这是不可能的。但有两个思路:
显示文本文件作为另一个网页,启动您的可执行
包的下载两个文件到一个zip压缩文件
您可以返回一个multipart MIME response(multipart/mixed; boundary=XXX
而不是application/octet-stream
)与在Base64中编码的二进制部分。
我不确定JavaMail API是否可用于构建内容,但值得一看。
看起来像黑客的方式。但我只是喜欢这个简单的解决方案,我的情况。 – 2009-11-04 12:49:43