Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在REST webservice中传输文件并在桌面应用程序上启动打印作业_Java_Web Services_Rest - Fatal编程技术网

Java 在REST webservice中传输文件并在桌面应用程序上启动打印作业

Java 在REST webservice中传输文件并在桌面应用程序上启动打印作业,java,web-services,rest,Java,Web Services,Rest,我创建了一个用于获取文件的Web服务: @Stateless @Path("/print") public class PictureWebservice { @GET @Path("/startPrint") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response getFile() { String path = "/mypath.JPG"; File file

我创建了一个用于获取文件的Web服务:

@Stateless
@Path("/print")
public class PictureWebservice {

    @GET
    @Path("/startPrint")
    @Produces(MediaType.APPLICATION_OCTET_STREAM)
    public Response getFile() {

        String path = "/mypath.JPG";
      File file = new File(path);
      return Response.ok(file, MediaType.APPLICATION_OCTET_STREAM)
          .header("Content-Disposition", "attachment; filename=\"" + file.getName() + "\"" ) //optional
          .build();
    }
}
我将从另一台PC(运行另一个桌面应用程序)调用REST Web服务,因为我需要这个文件(或流)在这个桌面应用程序上打印

以下是我的工作流程:

1) 调用webservice获取文件(图像)test.png

2) 运行桌面应用程序的PC获取文件(可能是流?)

3) 桌面应用程序将在此电脑中启动打印作业

首先:

1) 我该怎么做

2) 我应该将文件物理存储在桌面应用程序PC上吗?因为我不需要这个文件只用于prinint

你能帮帮我吗

  • 这取决于您选择用什么语言编写桌面应用程序。我假设是Java。
  • 创建一个带有REST服务URL的
    HttpURLConnection
  • HttpURLConnection
    获取输入流
  • 使用
    ImageIO.read()
    ,将流中的数据解码为
    buffereImage
    ,并使用Graphics2D和打印API打印数据
  • “物理存储”是指将其保存到磁盘吗?取决于你还需要对这些图像做什么——以及在什么时间范围内——答案应该相当清楚

  • 希望有帮助

    谢谢你的回复。请问你有密码吗?是的,我是说在磁盘上保存。这有必要吗?是的,我在使用JAVAI,我有很多代码,但都在我的脑子里。其他人则花时间在互联网上发布自己的信息——请使用搜索功能(或谷歌)查找。