我在地区:俄勒冈州中有一个Bucket,我使用 aws java sdk ,小文件我没有遇到问题但是当我尝试下载40 MB的文件时,我在浏览器中收到网络错误。
我使用的是Java,Primefaces和基于角色的身份验证。
ClientConfiguration clientConfig = new ClientConfiguration();
clientConfig.setProtocol(Protocol.HTTP);
AmazonS3 s3= new AmazonS3Client(clientConfig);
s3.setRegion(Region.getRegion(Regions.US_WEST_2));
获取文件的方法:
public StreamedContent getFile() {
S3Object obj = s3.getObject(new GetObjectRequest(ProjectConstants.BUCKET_NAME,
ProjectConstants.OBJECT_NAME));
return new DefaultStreamedContent(obj.getObjectContent(), "application/octet-stream", "file.exe");
}
Facelet代码:
<h:form>
<p:commandButton value="#{viewDow.button_download}" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop);">
<p:fileDownload value="#{downloadController.file}" />
</p:commandButton>
</h:form>
注意:我没有例外。
我收到了下一个错误: