gpt4 book ai didi

java - 在java中下载box文件

转载 作者:行者123 更新时间:2023-11-29 08:48:03 24 4
gpt4 key购买 nike

当我下载文件时,它总是抛出这个异常:

org.apache.http.ConnectionClosedException:Content-Length 分隔消息正文过早结束(预期:210846;收到:0

我的代码:

String fileid=attachment.getBoxfileid();
String sha1=attachment.getSha1();
String filename=attachment.getFilename();

final String clientid=ToolsUtils.getBOXcomConfig().get(ToolsUtils.CLIENTID);
final String clientsecret=ToolsUtils.getBOXcomConfig().get(ToolsUtils.CLIENTSECRET);
BoxOAuthToken authToken=this.boxuploadService.getTokenByClientId(clientid);
BoxClient boxClient=new BoxClient(clientid,clientsecret,null,null,new BoxConfigBuilder().build());
boxClient.authenticate(authToken);
boxClient.addOAuthRefreshListener(new OAuthRefreshListener() {

@Override
public void onRefresh(IAuthData authData) {
boxuploadService.updateBoxAccessToken(clientid,authData.getAccessToken(),authData.getRefreshToken());
}
});
BoxDefaultRequestObject obj = new BoxDefaultRequestObject();
obj.getRequestExtras().setIfMatch(sha1);
DownloadFileRequest downloadFileRequest=new DownloadFileRequest(new BoxConfigBuilder().build(), new BoxJSONParser(new BoxResourceHub()), fileid, obj);
out = response.getOutputStream();
InputStream inputStream=boxClient.getFilesManager().downloadFile(fileid, obj);
byte[] buffer = new byte[1024];
response.setContentType("application/octet-stream" );
response.setHeader( "Content-Disposition", "attachment; filename=\"" + filename + "\"" );

while((readCount = inputStream.read(buffer)) > 0) {
out.write(buffer, 0, readCount);
}

out.flush();

最佳答案

看起来读取部分出错了,调用downloadFile(fildId, requestObject)时有没有捕获异常?

我的代码如下所示:

try {

BoxDefaultRequestObject requestObject = new BoxDefaultRequestObject();

inputStream = boxClient.getFilesManager().downloadFile(fileId,
requestObject);

} catch (BoxRestException e) {
e.printStackTrace();
} catch (BoxServerException e) {
e.printStackTrace();
} catch (AuthFatalFailureException e) {
e.printStackTrace();
}

通过这种方式可以检查是否正确生成了InputStream对象。

关于java - 在java中下载box文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24137865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com