gwt - 在 GWT 中将文件从服务器发送到客户端

标签 gwt servlets gwt-rpc gwt2 formpanel

我正在使用 GWT。

我必须将文件从服务器下载到客户端

文档位于外部存储库中。

客户端通过 Servlet 发送文档的 id。

服务器端:使用此 ID 文档进行检索:

Document document = (Document)session.getObject(docId);
ContentStream contentStream = document.getContentStream();

ByteArrayInputStream inputStream = (ByteArrayInputStream) contentStream.getStream();

int c;
while ((c = inputStream.read()) != -1) {
    System.out.print((char) c); 
}
String mime = contentStream.getMimeType();
String name = contentStream.getFileName();
InputStream strm = contentStream.getStream();

在这里我可以阅读文档。

我想将其发送给客户。 如何将其制作为文件并将其发送回客户端?

最佳答案

在您的 Servlet 中:

Document document =(Document)session.getObject(docId);
ContentStream contentStream = document.getContentStream();
String name = contentStream.getFileName();
response.setHeader("Content-Type", "application/octet-stream;");
response.setHeader("Content-Disposition", "attachment;filename=\"" + name + "\"");
OutputStream os = response.getOutputStream();
InputStream is = 
  (ByteArrayInputStream) contentStream.getStream();
BufferedInputStream buf = new BufferedInputStream(is);
int readBytes=0;
while((readBytes=buf.read())!=-1) {
      os.write(readBytes);
}   
os.flush();
os.close();// *important*
return; 

关于gwt - 在 GWT 中将文件从服务器发送到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12110090/

相关文章:

java - 使用 GWT 时出现 HTTP 错误 503 (SERVICE_UNAVAILABLE)

java - 如何在 GWT 中获取上周日期

java - 无法运行 GWT ServiceAsync

java - 使用 eclipse 编译 servlet 和 GWT

java - 我应该如何使用servlet在两个jsp之间发送数据

tomcat - 从 servlet 应用程序访问 server.xml 中的主机信息

Maven Tomcat 插件 - 找不到 404 WebServlet

java - java.text.SimpleDateFormat : GWT Compilation Error 类型没有可用的源代码

java - 如何在 GWT 中使用 ClientBundle?

java - 如何使用 GWT 动态更新 SelectionCell 中的选项?