我在S3存储桶中有一个包含json文件的文件夹。我正在使用Spring Boot。用户提供文件夹名称
和特定文件(json file
)名称。
public ResponseEntity<?> downloading(String folderName, String fileName) throws IOException {
S3Object s3Object = s3client
.getObject(new GetObjectRequest(s3BucketName, folderName + fileName));
if (s3Object.getKey().length() > 0) {
//enables the user to dowload json file
//return the object that can be dowloaded, status code
return new ResponseEntity<>( HttpStatus.OK);
}
else{
//return error message and status code
return new ResponseEntity<>( HttpStatus.NOT_FOUND);
}
}
我从这里参考了答案。
因此,我只添加了一部分代码,可以帮助您:
public ResponseEntity<byte[]> downloading(String folderName, String fileName) {
S3Object s3Object = s3client
.getObject(new GetObjectRequest(s3BucketName, folderName + fileName));
if (s3Object.getKey().length() > 0) {
S3ObjectInputStream input = s3Object.getObjectContent();
byte[] bytes = IOUtils.toByteArray(input);
String file = URLEncoder.encode(s3Object.getKey(), "UTF-8").replaceAll("\\+", "%20");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentLength(bytes.length);
headers.setContentDispositionFormData("attachment", file);
return new ResponseEntity<byte[]>(bytes, HttpStatus.OK);
}
return new ResponseEntity<byte[]>(null, HttpStatus.NOT_FOUND);
}
谢了。:)
运行上述代码后出现以下错误。请帮忙做这件事。。正在将源和目标文件名作为S3属性中的参数传递。。。 在处理上述异常时,发生了另一个异常: 回溯(最后一次调用):文件“C:\Cloudtail\CT\SQL Scripts\python\GRN\u S3\u dwnld.py”,第17行,除了botocore.exception.ClientErrors as e:NameError:未定义名称“bo
我已使用IAM角色启动了一个ec2实例,并将以下策略与IAM角色关联。 然而,当我试图从ec2-实例中使用aws cli下载文件时,我一直拒绝访问。 当我模拟策略并对bucket中的对象执行操作时,会收到消息“allowed”。当我访问时,我可以看到正确的实例配置文件附在实例上http://169.254.254/latest-metadata/iam/info 我有什么明显的遗漏吗?
根据AWS文档中提供的资源,可以通过以下代码下载对象: 编辑 我将更改为,它打开了pdf,但现在我需要下载它
问题内容: 我在s3中有一个存储桶,它具有深层的目录结构。我希望我可以一次全部下载它们。我的文件如下所示: 有什么方法可以使用python中的boto lib从s3存储桶中递归下载这些文件? 提前致谢。 问题答案: 您可以按以下方式在存储桶中下载所有文件(未经测试): 请记住,S3中的文件夹只是写密钥名的另一种方法,只有客户端会将其显示为文件夹。
问题内容: 如何才能从旧的ASP.NET网站(我相信是IIS6)下载* .json文件? 我正在获取404页面而不是JSON文件。 我需要创建一个web.config文件吗?里面有什么? 问题答案: 将JSON MIME类型添加到IIS6。按照MSDN的“配置MIME类型(IIS 6.0)”中的说明进行操作 。 扩展名: .json MIME类型: application / json 更改后不要
问题内容: 在我的应用程序中,在客户端创建了一个json对象。该对象被发布到HttpServlet,后者基于POST数据创建pdf文件。 该文件将发送回用户。调用成功函数,并记录流数据。但是,我想要下载该文件。 如何实现呢? 我的客户端代码: }); 然后servlet创建文件: 日志中的输出: 我的解决方案:* 有关指针,请参见http://www.particletree.com/notebo