使用 PDFBox 保存方法将文件上传到 SFTP 服务器而不将文件存储到本地系统?
Upload a file to an SFTP server using PDFBox save method without storing the file to the local system?
我正在尝试将从远程服务器获取的编辑后的 PDF 保存回其位置,而不是在本地计算机上 downloaded/stored。我正在使用 JSch SFTP 方法使用
从 SFTP 服务器获取输入 PDF 文件
x = new BufferedInputStream(channelSftp.get("example.pdf"));
PDDocument document = PDDocument.load(x);
在使用 PDFbox 进行一些编辑后,我尝试使用以下方法保存它:
documents.save(new File("ftp/path/location"));
我不能,因为我知道它只适用于您的本地目录。我还可以看到 document.save
接受 OutputStream` 参数,但我不知道如何在这里使用它。
我对使用流 reader 进行输入没有任何问题。
我只需要将编辑后的 PDF 保存回其位置(可能替换),而无需在我的本地系统上下载它。
使用ChannelSftp.put
overload that returns OutputStream
:
try (OutputStream out = channelSftp.put("example.pdf")) {
documents.save(out);
}
我正在尝试将从远程服务器获取的编辑后的 PDF 保存回其位置,而不是在本地计算机上 downloaded/stored。我正在使用 JSch SFTP 方法使用
从 SFTP 服务器获取输入 PDF 文件x = new BufferedInputStream(channelSftp.get("example.pdf"));
PDDocument document = PDDocument.load(x);
在使用 PDFbox 进行一些编辑后,我尝试使用以下方法保存它:
documents.save(new File("ftp/path/location"));
我不能,因为我知道它只适用于您的本地目录。我还可以看到 document.save
接受 OutputStream` 参数,但我不知道如何在这里使用它。
我对使用流 reader 进行输入没有任何问题。 我只需要将编辑后的 PDF 保存回其位置(可能替换),而无需在我的本地系统上下载它。
使用ChannelSftp.put
overload that returns OutputStream
:
try (OutputStream out = channelSftp.put("example.pdf")) {
documents.save(out);
}