Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.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
Amazon S3 AWS SDK[Java]-多部分上传如何在http响应中获取自定义头?_Java_Amazon Web Services_Amazon S3_Aws Sdk_Aws Sdk Java 2.0 - Fatal编程技术网

Amazon S3 AWS SDK[Java]-多部分上传如何在http响应中获取自定义头?

Amazon S3 AWS SDK[Java]-多部分上传如何在http响应中获取自定义头?,java,amazon-web-services,amazon-s3,aws-sdk,aws-sdk-java-2.0,Java,Amazon Web Services,Amazon S3,Aws Sdk,Aws Sdk Java 2.0,使用TransferManager时,如何从服务器响应访问自定义标头 我们在服务器的响应中添加了一个自定义头,在客户端,我们使用带有默认传输管理器的多部分上传 有没有什么建议可以帮我联系上它 所以基本上我想传递来自return response.getAwsResponse的响应;在类中找到:方法上的AmazonS3Client private <X, Y extends AmazonWebServiceRequest> X invoke(Request<Y> reque

使用TransferManager时,如何从服务器响应访问自定义标头

我们在服务器的响应中添加了一个自定义头,在客户端,我们使用带有默认传输管理器的多部分上传

有没有什么建议可以帮我联系上它

所以基本上我想传递来自return response.getAwsResponse的响应;在类中找到:方法上的AmazonS3Client

private <X, Y extends AmazonWebServiceRequest> X invoke(Request<Y> request,
                HttpResponseHandler<AmazonWebServiceResponse<X>> responseHandler,
                String bucket, String key, boolean isAdditionalHeadRequestToFindRegion) { 
该响应将具有来自服务器的HTTP响应,该服务器包含我正在查找的自定义heather,基本上是在文件100%完成时发送回的唯一Id,以便我可以对其进行操作

我需要将这个自定义头从响应传递到使用transfer manager和upload.waitForCompletion的最开始, 我也不想编辑亚马逊的


那么,有人知道是否有一个接口或其他对象可以让我访问它吗

在对框架进行了一些调试之后,我坚信在使用TransferManager时无法访问http响应

对于我们正在尝试做的事情,我们需要在文件上传完成并组装后从服务器向客户端发送一个唯一的id

**因此,如果您不介意使用TransferManager的优点,您可以编写自己的TransferManager,这样您就可以完全控制它,但在客户端,我们并不想添加自定义代码,而是有一种标准而简单的方法,但这是针对我的场景,如果你决定手动操作,我已经试过了,可以用了

因此,作为一种替代方案,我们可以通过eTag从服务器发送数据,这虽然不太好,但可以完成这项工作,并保持客户端的简单和干净

关于如何以更好的方式发送此值,您有什么建议吗

Upload up = tm.upload(bucketName, file.getName(), file);

UploadResult result = (UploadResult) ((UploadImpl) up).getMonitor().getFuture().get();
String uniqueIdFromServer = result.getETag();

下面是低层多端口加载的链接-