如何使用 Java SDK for Dropbox API v2 获取上传进度?
How to get upload progress with Java SDK for Dropbox API v2?
我在其开发者页面和 Stack Overflow 上搜索了 Dropbox 文档,但我还没有找到在 Java SDK 中获取文件上传进度的方法 API v2。我不知道如何获取上传进度。有人可以帮我解决这个问题吗?
我试过ProgresMonitorInputStream
,但它只告诉我读取文件的进度,并没有显示上传到Dropbox服务器的进度。
DbxRequestConfig config = DbxRequestConfig.newBuilder("My App/1.0.0").build();
DbxClientV2 client = new DbxClientV2(config, Constants.ACCESS_TOKEN);
FileMetadata metadata;
try {
try (InputStream in = new FileInputStream(filepath)) {
InputStream progressMonitorInputStream = new ProgressMonitorInputStream(null, "Uploading...", in);
metadata = client.files()
.uploadBuilder("/test.exe")
.withMode(WriteMode.OVERWRITE)
.uploadAndFinish(progressMonitorInputStream);
}
} catch (DbxException | IOException e) {
e.printStackTrace(System.err);
return;
}
我希望上传进度显示在 JProgressBar 中。
Dropbox 团队的 Greg K. 最近对此做出了回应:
The Dropbox API v2 Java SDK now offers progress listeners for uploads and downloads. This has been released in v3.0.9:
https://github.com/dropbox/dropbox-sdk-java/releases/tag/v3.0.9
There's an example of using it with with the uploadAndFinish
method (https://dropbox.github.io/dropbox-sdk-java/api-docs/v3.0.x/com/dropbox/core/DbxUploader.html#uploadAndFinish-java.io.InputStream-long-com.dropbox.core.util.IOUtil.ProgressListener-) for an upload here:
It works the same way with file downloads; the download method (https://dropbox.github.io/dropbox-sdk-java/api-docs/v3.0.x/com/dropbox/core/DbxDownloader.html#download-java.io.OutputStream-com.dropbox.core.util.IOUtil.ProgressListener-) optionally takes a ProgressListener
parameter the same way.
我在其开发者页面和 Stack Overflow 上搜索了 Dropbox 文档,但我还没有找到在 Java SDK 中获取文件上传进度的方法 API v2。我不知道如何获取上传进度。有人可以帮我解决这个问题吗?
我试过ProgresMonitorInputStream
,但它只告诉我读取文件的进度,并没有显示上传到Dropbox服务器的进度。
DbxRequestConfig config = DbxRequestConfig.newBuilder("My App/1.0.0").build();
DbxClientV2 client = new DbxClientV2(config, Constants.ACCESS_TOKEN);
FileMetadata metadata;
try {
try (InputStream in = new FileInputStream(filepath)) {
InputStream progressMonitorInputStream = new ProgressMonitorInputStream(null, "Uploading...", in);
metadata = client.files()
.uploadBuilder("/test.exe")
.withMode(WriteMode.OVERWRITE)
.uploadAndFinish(progressMonitorInputStream);
}
} catch (DbxException | IOException e) {
e.printStackTrace(System.err);
return;
}
我希望上传进度显示在 JProgressBar 中。
Dropbox 团队的 Greg K. 最近对此做出了回应:
The Dropbox API v2 Java SDK now offers progress listeners for uploads and downloads. This has been released in v3.0.9:
https://github.com/dropbox/dropbox-sdk-java/releases/tag/v3.0.9
There's an example of using it with with the
uploadAndFinish
method (https://dropbox.github.io/dropbox-sdk-java/api-docs/v3.0.x/com/dropbox/core/DbxUploader.html#uploadAndFinish-java.io.InputStream-long-com.dropbox.core.util.IOUtil.ProgressListener-) for an upload here:It works the same way with file downloads; the download method (https://dropbox.github.io/dropbox-sdk-java/api-docs/v3.0.x/com/dropbox/core/DbxDownloader.html#download-java.io.OutputStream-com.dropbox.core.util.IOUtil.ProgressListener-) optionally takes a
ProgressListener
parameter the same way.